diff options
author | Torne (Richard Coles) <torne@google.com> | 2014-10-27 14:57:29 +0000 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2014-10-27 14:57:29 +0000 |
commit | bfedac5beb763c8fb23f04230925c71708e98051 (patch) | |
tree | 8827d12dad04c9325a1c8845b043de40f2459191 | |
parent | a913a0a5a5cf6315565b99822a18138b67caf7ed (diff) | |
parent | 2335970093f750ed465f34ae654cd84fe01c79c5 (diff) | |
download | angle-bfedac5beb763c8fb23f04230925c71708e98051.tar.gz |
Merge from Chromium at DEPS revision 614f7b807940
This commit was generated by merge_to_master.py.
Change-Id: I739e5f1f44d400e041948db14ccea8a53e136f11
352 files changed, 31012 insertions, 8627 deletions
@@ -1,9 +1,11 @@ -Debug -Debug_Win32 -Debug_x64 -Release -Release_Win32 -Release_x64 +Debug/ +Debug_Win32/ +Debug_x64/ +Debug_ARM/ +Release/ +Release_Win32/ +Release_x64/ +Release_ARM/ *.sdf *.ncb *.suo @@ -21,10 +21,12 @@ Mozilla Corporation Turbulenz Klarälvdalens Datakonsult AB Microsoft Open Technologies, Inc. +NVIDIA Corporation Jacek Caban Mark Callow Ginn Chen +Tibor den Ouden James Hauxwell Sam Hocevar Pierre Leveille @@ -53,10 +53,9 @@ component("translator") { "//build/config/compiler:no_chromium_code", ] - deps = [ + public_deps = [ ":translator_lib", ] - forward_dependent_configs_from = [ ":translator_lib" ] } # Holds the shared includes so we only need to list them once. @@ -99,7 +98,7 @@ static_library("translator_lib") { ":translator_static_config", "//build/config/compiler:no_chromium_code", ] - direct_dependent_configs = [ ":external_config" ] + public_configs = [ ":external_config" ] deps = [ ":includes", @@ -118,12 +117,11 @@ static_library("translator_static") { ":internal_config", "//build/config/compiler:no_chromium_code", ] - direct_dependent_configs = [ ":translator_static_config" ] + public_configs = [ ":translator_static_config" ] - deps = [ + public_deps = [ ":translator_lib", ] - forward_dependent_configs_from = [ ":translator_lib" ] } config("commit_id_config") { @@ -142,7 +140,7 @@ action("commit_id") { rebase_path(output_file, root_build_dir), ] - direct_dependent_configs = [ ":commit_id_config" ] + public_configs = [ ":commit_id_config" ] } if (is_win) { @@ -166,6 +164,9 @@ if (is_win) { ] libs = [] + # Windows-specific sources. + sources += rebase_path(gles_gypi.angle_libangle_win_sources, ".", "src") + # Shared D3dD sources. if (angle_enable_d3d9 || angle_enable_d3d11) { sources += rebase_path(gles_gypi.angle_d3d_shared_sources, ".", "src") @@ -220,7 +221,10 @@ if (is_win) { ] if (is_debug) { - defines += [ "ANGLE_ENABLE_PERF" ] + defines += [ + "ANGLE_ENABLE_PERF", + "ANGLE_GENERATE_SHADER_DEBUG_INFO" + ] } include_dirs = [ "src/libGLESv2" ] diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 0cae10a0..94d009f2 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -78,7 +78,12 @@ Turbulenz Ulrik Persson (ddefrostt) Mark Banner (standard8mbp) David Kilzer +Jacek Caban +Tibor den Ouden Microsoft Open Technologies, Inc. Cooper Partin Austin Kinross + +NVIDIA Corporation + Olli Etuaho @@ -1,6 +1,6 @@ deps = { "third_party/gyp": - "http://gyp.googlecode.com/svn/trunk@1806", + "http://gyp.googlecode.com/svn/trunk@1987", "tests/third_party/googletest": "http://googletest.googlecode.com/svn/trunk@629", diff --git a/build/all.gyp b/build/all.gyp index 32d3c8d9..735fbeac 100644 --- a/build/all.gyp +++ b/build/all.gyp @@ -19,10 +19,6 @@ { 'dependencies': [ '../tests/tests.gyp:*', ], }], - ['angle_build_samples==1 or angle_build_tests==1', - { - 'dependencies': [ '../util/util.gyp:*', ], - }], ], }, ], diff --git a/build/common.gypi b/build/common.gypi index b35a79ec..fb976ff1 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -8,6 +8,8 @@ { 'angle_build_tests%': '1', 'angle_build_samples%': '1', + 'angle_build_winrt%': '0', + 'angle_build_winphone%': '0', # angle_code is set to 1 for the core ANGLE targets defined in src/build_angle.gyp. # angle_code is set to 0 for test code, sample code, and third party code. # When angle_code is 1, we build with additional warning flags on Mac and Linux. @@ -96,6 +98,10 @@ 'Debug_Base': { 'abstract': 1, + 'defines': + [ + '_DEBUG' + ], 'msvs_settings': { 'VCCLCompilerTool': @@ -103,6 +109,15 @@ 'Optimization': '0', # /Od 'BasicRuntimeChecks': '3', 'RuntimeLibrary': '1', # /MTd (debug static) + 'conditions': + [ + # winrt compilation requires that this library is + # uses dynamic linked runtime + ['angle_build_winrt==1', + { + 'RuntimeLibrary': '3', # /MDd (debug dynamic) + }], + ], }, 'VCLinkerTool': { @@ -120,12 +135,25 @@ 'Release_Base': { 'abstract': 1, + 'defines': + [ + 'NDEBUG' + ], 'msvs_settings': { 'VCCLCompilerTool': { 'Optimization': '2', # /Os 'RuntimeLibrary': '0', # /MT (static) + 'conditions': + [ + # winrt compilation requires that this library is + # uses dynamic linked runtime + ['angle_build_winrt==1', + { + 'RuntimeLibrary': '2', # /MDd (debug dynamic) + }], + ], }, 'VCLinkerTool': { @@ -184,6 +212,30 @@ }, }, # x64_Base + 'arm_Base': + { + 'abstract': 1, + 'msvs_configuration_platform': 'ARM', + 'msvs_settings': + { + 'VCLinkerTool': + { + 'TargetMachine': '3', # ARM + 'AdditionalLibraryDirectories': + [ + '<(windows_8_1_sdk_path)/Lib/win8/um/arm', + ], + }, + 'VCLibrarianTool': + { + 'AdditionalLibraryDirectories': + [ + '<(windows_8_1_sdk_path)/Lib/win8/um/arm', + ], + }, + }, + }, # arm_Base + # Concrete configurations 'Debug': { @@ -195,7 +247,18 @@ }, 'conditions': [ - [ 'OS == "win" and MSVS_VERSION != "2010e"', + ['angle_build_winrt==0 and OS == "win" and MSVS_VERSION != "2010e"', + { + 'Debug_x64': + { + 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'], + }, + 'Release_x64': + { + 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'], + }, + }], + ['angle_build_winrt==1 and angle_build_winphone==0', { 'Debug_x64': { @@ -205,6 +268,25 @@ { 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'], }, + 'Debug_ARM': + { + 'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'], + }, + 'Release_ARM': + { + 'inherit_from': ['Common_Base', 'arm_Base', 'Release_Base'], + }, + }], + ['angle_build_winrt==1 and angle_build_winphone==1', + { + 'Debug_ARM': + { + 'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'], + }, + 'Release_ARM': + { + 'inherit_from': ['Common_Base', 'arm_Base', 'Release_Base'], + }, }], ], }, # configurations @@ -221,7 +303,11 @@ { # OS != win 'target_defaults': { - 'cflags': [ '-fPIC' ], + 'cflags': + [ + '-fPIC', + '-std=c++0x', + ], }, }], ['OS != "win" and OS != "mac"', diff --git a/build/common_defines.gypi b/build/common_defines.gypi index 5f53a7e4..f9b32e27 100644 --- a/build/common_defines.gypi +++ b/build/common_defines.gypi @@ -8,12 +8,17 @@ 'component%': 'static_library', 'angle_path%': '..', 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.0', + 'windows_8_1_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.1', + 'angle_build_winrt%': '0', + 'angle_build_winphone%': '0', }, - 'msvs_disabled_warnings': [ 4100, 4127, 4239, 4244, 4245, 4251, 4512, 4702, 4530, 4718, 4267 ], + 'msvs_disabled_warnings': [ 4100, 4127, 4239, 4244, 4245, 4251, 4512, 4702, 4530, 4718, 4267, 4264, 4447, 4075 ], 'msvs_system_include_dirs': [ '<(windows_sdk_path)/Include/shared', '<(windows_sdk_path)/Include/um', + '<(windows_8_1_sdk_path)/Include/shared', + '<(windows_8_1_sdk_path)/Include/um', ], 'msvs_settings': { @@ -28,21 +33,38 @@ }, 'VCLinkerTool': { - 'AdditionalDependencies': + 'conditions': [ - 'kernel32.lib', - 'gdi32.lib', - 'winspool.lib', - 'comdlg32.lib', - 'advapi32.lib', - 'shell32.lib', - 'ole32.lib', - 'oleaut32.lib', - 'user32.lib', - 'uuid.lib', - 'odbc32.lib', - 'odbccp32.lib', - 'delayimp.lib', + ['angle_build_winrt==0', + { + 'AdditionalDependencies': + [ + 'kernel32.lib', + 'gdi32.lib', + 'winspool.lib', + 'comdlg32.lib', + 'advapi32.lib', + 'shell32.lib', + 'ole32.lib', + 'oleaut32.lib', + 'user32.lib', + 'uuid.lib', + 'odbc32.lib', + 'odbccp32.lib', + 'delayimp.lib', + ], + }], + # winrt compilation is dynamic depending on the project + # type. AdditionalDependencies is automatically configured + # with the required .libs + ['angle_build_winrt==1', + { + 'AdditionalDependencies': + [ + '%(AdditionalDependencies)', + 'uuid.lib', + ], + }], ], }, }, @@ -57,6 +79,7 @@ 'AdditionalLibraryDirectories': [ '<(windows_sdk_path)/Lib/win8/um/x86', + '<(windows_8_1_sdk_path)/Lib/winv6.3/um/x86', ], }, 'VCLibrarianTool': @@ -64,13 +87,10 @@ 'AdditionalLibraryDirectories': [ '<(windows_sdk_path)/Lib/win8/um/x86', + '<(windows_8_1_sdk_path)/Lib/winv6.3/um/x86', ], }, }, - 'defines': - [ - '_DEBUG' - ], }, 'Release': { @@ -81,6 +101,7 @@ 'AdditionalLibraryDirectories': [ '<(windows_sdk_path)/Lib/win8/um/x86', + '<(windows_8_1_sdk_path)/Lib/winv6.3/um/x86', ], }, 'VCLibrarianTool': @@ -88,13 +109,10 @@ 'AdditionalLibraryDirectories': [ '<(windows_sdk_path)/Lib/win8/um/x86', + '<(windows_8_1_sdk_path)/Lib/winv6.3/um/x86', ], }, }, - 'defines': - [ - 'NDEBUG' - ], }, }, 'conditions': diff --git a/generate_projects b/generate_projects index ffcaafbd..22dd1488 100644 --- a/generate_projects +++ b/generate_projects @@ -19,11 +19,14 @@ gyp_dir = os.path.join(angle_dir, 'third_party', 'gyp') generation_dir = "projects" gyp_generators = "msvs" msvs_version = "2013e" -build_samples = True build_tests = False release_symbols = False -if __name__ == '__main__': +def generateProjects( generation_dir, + build_samples, + build_winrt, + build_winphone, + enable_d3d9 ) : gyp_cmd = os.path.join(gyp_dir, 'gyp') gyp_cmd += ' --ignore-environment' gyp_cmd += ' --depth=.' @@ -35,6 +38,9 @@ if __name__ == '__main__': gyp_cmd += ' -D angle_build_samples=' + ('1' if build_samples else '0') gyp_cmd += ' -D release_symbols=' + ('true' if release_symbols else 'false') gyp_cmd += ' -D angle_use_commit_id=0' + gyp_cmd += ' -D angle_build_winrt=' + ('1' if build_winrt else '0') + gyp_cmd += ' -D angle_build_winphone=' + ('1' if build_winphone else '0') + gyp_cmd += ' -D angle_enable_d3d9=' + ('1' if enable_d3d9 else '0') gyp_cmd += ' ' + os.path.join(script_dir, 'all.gyp') print 'Generating projects to ' + generation_dir + ' from gyp files...' @@ -47,3 +53,12 @@ if __name__ == '__main__': print git_add_cmd sys.stdout.flush() os.system(git_add_cmd) + return; + +if __name__ == '__main__': + + # Generate Windows Desktop projects + generateProjects("projects", True, False, False, True); + + # Generate Windows 8.1 projects + generateProjects("projects/winrt/windows", False, True, False, False); diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h index 3ab8844f..3793e571 100644 --- a/include/EGL/eglplatform.h +++ b/include/EGL/eglplatform.h @@ -75,7 +75,13 @@ typedef HDC EGLNativeDisplayType; typedef HBITMAP EGLNativePixmapType; + +#if defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PC_APP /* Windows Store */ +#include <inspectable.h> +typedef IInspectable* EGLNativeWindowType; +#else typedef HWND EGLNativeWindowType; +#endif #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ diff --git a/include/GLSLANG/ShaderLang.h b/include/GLSLANG/ShaderLang.h index b7989f5f..76012cf8 100644 --- a/include/GLSLANG/ShaderLang.h +++ b/include/GLSLANG/ShaderLang.h @@ -246,6 +246,12 @@ typedef struct int EXT_frag_depth; int EXT_shader_texture_lod; + // Set to 1 to enable replacing GL_EXT_draw_buffers #extension directives + // with GL_NV_draw_buffers in ESSL output. This flag can be used to emulate + // EXT_draw_buffers by using it in combination with GLES3.0 glDrawBuffers + // function. This applies to Tegra K1 devices. + int NV_draw_buffers; + // Set to 1 if highp precision is supported in the fragment language. // Default is 0. int FragmentPrecisionHigh; @@ -274,6 +280,8 @@ typedef struct // // Initialize built-in resources with minimum expected values. +// Parameters: +// resources: The object to initialize. Will be comparable with memcmp. // COMPILER_EXPORT void ShInitBuiltInResources(ShBuiltInResources* resources); diff --git a/include/GLSLANG/ShaderVars.h b/include/GLSLANG/ShaderVars.h index 9c38647d..da21c3e7 100644 --- a/include/GLSLANG/ShaderVars.h +++ b/include/GLSLANG/ShaderVars.h @@ -52,6 +52,21 @@ struct COMPILER_EXPORT ShaderVariable unsigned int elementCount() const { return std::max(1u, arraySize); } bool isStruct() const { return !fields.empty(); } + // All of the shader's variables are described using nested data + // structures. This is needed in order to disambiguate similar looking + // types, such as two structs containing the same fields, but in + // different orders. "findInfoByMappedName" provides an easy query for + // users to dive into the data structure and fetch the unique variable + // instance corresponding to a dereferencing chain of the top-level + // variable. + // Given a mapped name like 'a[0].b.c[0]', return the ShaderVariable + // that defines 'c' in |leafVar|, and the original name 'A[0].B.C[0]' + // in |originalName|, based on the assumption that |this| defines 'a'. + // If no match is found, return false. + bool findInfoByMappedName(const std::string &mappedFullName, + const ShaderVariable **leafVar, + std::string* originalFullName) const; + GLenum type; GLenum precision; std::string name; @@ -60,6 +75,16 @@ struct COMPILER_EXPORT ShaderVariable bool staticUse; std::vector<ShaderVariable> fields; std::string structName; + + protected: + bool isSameVariableAtLinkTime(const ShaderVariable &other, + bool matchPrecision) const; + + bool operator==(const ShaderVariable &other) const; + bool operator!=(const ShaderVariable &other) const + { + return !operator==(other); + } }; struct COMPILER_EXPORT Uniform : public ShaderVariable @@ -68,6 +93,16 @@ struct COMPILER_EXPORT Uniform : public ShaderVariable ~Uniform(); Uniform(const Uniform &other); Uniform &operator=(const Uniform &other); + bool operator==(const Uniform &other) const; + bool operator!=(const Uniform &other) const + { + return !operator==(other); + } + + // Decide whether two uniforms are the same at shader link time, + // assuming one from vertex shader and the other from fragment shader. + // See GLSL ES Spec 3.00.3, sec 4.3.5. + bool isSameUniformAtLinkTime(const Uniform &other) const; }; struct COMPILER_EXPORT Attribute : public ShaderVariable @@ -76,6 +111,11 @@ struct COMPILER_EXPORT Attribute : public ShaderVariable ~Attribute(); Attribute(const Attribute &other); Attribute &operator=(const Attribute &other); + bool operator==(const Attribute &other) const; + bool operator!=(const Attribute &other) const + { + return !operator==(other); + } int location; }; @@ -86,6 +126,18 @@ struct COMPILER_EXPORT InterfaceBlockField : public ShaderVariable ~InterfaceBlockField(); InterfaceBlockField(const InterfaceBlockField &other); InterfaceBlockField &operator=(const InterfaceBlockField &other); + bool operator==(const InterfaceBlockField &other) const; + bool operator!=(const InterfaceBlockField &other) const + { + return !operator==(other); + } + + // Decide whether two InterfaceBlock fields are the same at shader + // link time, assuming one from vertex shader and the other from + // fragment shader. + // See GLSL ES Spec 3.00.3, sec 4.3.7. + bool isSameInterfaceBlockFieldAtLinkTime( + const InterfaceBlockField &other) const; bool isRowMajorLayout; }; @@ -94,8 +146,18 @@ struct COMPILER_EXPORT Varying : public ShaderVariable { Varying(); ~Varying(); - Varying(const Varying &other); + Varying(const Varying &otherg); Varying &operator=(const Varying &other); + bool operator==(const Varying &other) const; + bool operator!=(const Varying &other) const + { + return !operator==(other); + } + + // Decide whether two varyings are the same at shader link time, + // assuming one from vertex shader and the other from fragment shader. + // See GLSL ES Spec 3.00.3, sec 4.3.9. + bool isSameVaryingAtLinkTime(const Varying &other) const; InterpolationType interpolation; bool isInvariant; diff --git a/include/angle_windowsstore.h b/include/angle_windowsstore.h new file mode 100644 index 00000000..53ec93e0 --- /dev/null +++ b/include/angle_windowsstore.h @@ -0,0 +1,37 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// angle_windowsstore.h: + +#ifndef ANGLE_WINDOWSSTORE_H_ +#define ANGLE_WINDOWSSTORE_H_ + +// The following properties can be set on the CoreApplication to support additional +// ANGLE configuration options. +// +// The Visual Studio sample templates provided with this version of ANGLE have examples +// of how to set these property values. + +// +// Property: EGLNativeWindowTypeProperty +// Type: IInspectable +// Description: Set this property to specify the window type to use for creating a surface. +// If this property is missing, surface creation will fail. +// +const wchar_t EGLNativeWindowTypeProperty[] = L"EGLNativeWindowTypeProperty"; + +// +// Property: EGLRenderSurfaceSizeProperty +// Type: Size +// Description: Set this property to specify a preferred size in pixels of the render surface. +// The render surface size width and height must be greater than 0. +// If this property is set, then the render surface size is fixed. +// If this property is missing, a default behavior will be provided. +// The default behavior uses the window size if a CoreWindow is specified or +// the size of the SwapChainPanel control if one is specified. +// +const wchar_t EGLRenderSurfaceSizeProperty[] = L"EGLRenderSurfaceSizeProperty"; + +#endif // ANGLE_WINDOWSSTORE_H_ diff --git a/projects/build/All.vcxproj b/projects/build/All.vcxproj index 057f1b75..94ecdf2e 100644 --- a/projects/build/All.vcxproj +++ b/projects/build/All.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{D048EF6F-5312-AF41-8D8A-DB22CD8634E6}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>All</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -53,25 +54,27 @@ <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DisableSpecificWarnings>4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -82,7 +85,7 @@ <ResourceCompile> <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;..\..\samples\angle\sample_util;..\..\util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> @@ -91,24 +94,26 @@ <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DisableSpecificWarnings>4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,7 +124,7 @@ <ResourceCompile> <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;..\..\samples\angle\sample_util;..\..\util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> @@ -127,25 +132,27 @@ <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;..\..\samples\angle\sample_util;..\..\util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DisableSpecificWarnings>4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,7 +163,7 @@ <ResourceCompile> <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;..\..\samples\angle\sample_util;..\..\util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> @@ -164,24 +171,26 @@ <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;..\..\samples\angle\sample_util;..\..\util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DisableSpecificWarnings>4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -192,7 +201,7 @@ <ResourceCompile> <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;..\..\samples\angle\sample_util;..\..\util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -219,14 +228,6 @@ <Project>{19386E01-D811-FA3B-9F1E-122BB0C0E9F5}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\src\commit_id.vcxproj"> - <Project>{3B7F5656-177F-52EE-26B3-D6A75368D0A9}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - <ProjectReference Include="..\src\copy_compiler_dll.vcxproj"> - <Project>{22DC02D5-1598-943C-13E1-82185B469F81}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> <ProjectReference Include="..\src\libANGLE.vcxproj"> <Project>{CAAA04EE-A56A-43FB-D011-1A56053C070C}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> @@ -239,6 +240,14 @@ <Project>{F8ABD31A-EC2F-A211-D514-076C763B69F9}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> + <ProjectReference Include="..\src\commit_id.vcxproj"> + <Project>{3B7F5656-177F-52EE-26B3-D6A75368D0A9}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\copy_compiler_dll.vcxproj"> + <Project>{22DC02D5-1598-943C-13E1-82185B469F81}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> <ProjectReference Include="..\src\libEGL.vcxproj"> <Project>{FBAEE4F6-562A-588F-01F9-72DCABB3B061}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> @@ -307,10 +316,6 @@ <Project>{CBE3D362-43EA-60FC-D5AC-490039CA449A}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\util\angle_util.vcxproj"> - <Project>{E4DD691C-228B-A904-A008-10E26DC0F09E}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> <ImportGroup Label="ExtensionTargets"/> diff --git a/projects/build/all.sln b/projects/build/all.sln index ba79f141..732f8db6 100644 --- a/projects/build/all.sln +++ b/projects/build/all.sln @@ -7,11 +7,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "All", "All.vcxproj", "{D048 {276D20F5-2943-414C-0FF6-21F4723A5CF6} = {276D20F5-2943-414C-0FF6-21F4723A5CF6} {C15697F6-5057-016E-BD29-422971875679} = {C15697F6-5057-016E-BD29-422971875679} {19386E01-D811-FA3B-9F1E-122BB0C0E9F5} = {19386E01-D811-FA3B-9F1E-122BB0C0E9F5} - {3B7F5656-177F-52EE-26B3-D6A75368D0A9} = {3B7F5656-177F-52EE-26B3-D6A75368D0A9} - {22DC02D5-1598-943C-13E1-82185B469F81} = {22DC02D5-1598-943C-13E1-82185B469F81} {CAAA04EE-A56A-43FB-D011-1A56053C070C} = {CAAA04EE-A56A-43FB-D011-1A56053C070C} {7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81} = {7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81} {F8ABD31A-EC2F-A211-D514-076C763B69F9} = {F8ABD31A-EC2F-A211-D514-076C763B69F9} + {3B7F5656-177F-52EE-26B3-D6A75368D0A9} = {3B7F5656-177F-52EE-26B3-D6A75368D0A9} + {22DC02D5-1598-943C-13E1-82185B469F81} = {22DC02D5-1598-943C-13E1-82185B469F81} {FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061} {293E74D1-544C-D368-02A0-52F61A4D0679} = {293E74D1-544C-D368-02A0-52F61A4D0679} {B4D06330-EED1-6F99-BCA4-2F913908C38A} = {B4D06330-EED1-6F99-BCA4-2F913908C38A} @@ -29,7 +29,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "All", "All.vcxproj", "{D048 {92582B26-5131-8C32-39D9-5768C7FA12B4} = {92582B26-5131-8C32-39D9-5768C7FA12B4} {46160987-0221-9E14-3B88-80F9FCFCFFBF} = {46160987-0221-9E14-3B88-80F9FCFCFFBF} {CBE3D362-43EA-60FC-D5AC-490039CA449A} = {CBE3D362-43EA-60FC-D5AC-490039CA449A} - {E4DD691C-228B-A904-A008-10E26DC0F09E} = {E4DD691C-228B-A904-A008-10E26DC0F09E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_util", "..\util\angle_util.vcxproj", "{E4DD691C-228B-A904-A008-10E26DC0F09E}" diff --git a/projects/samples/dds_to_header.vcxproj b/projects/samples/dds_to_header.vcxproj index 48cd7d7c..049ab155 100644 --- a/projects/samples/dds_to_header.vcxproj +++ b/projects/samples/dds_to_header.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>dds_to_header</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/dds_to_header.vcxproj.filters b/projects/samples/dds_to_header.vcxproj.filters index 44302d5c..e09556f5 100644 --- a/projects/samples/dds_to_header.vcxproj.filters +++ b/projects/samples/dds_to_header.vcxproj.filters @@ -6,9 +6,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\dds_to_header\main.cpp"> <Filter>dds_to_header</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/essl_to_glsl.vcxproj b/projects/samples/essl_to_glsl.vcxproj index ec07d283..05facd4a 100644 --- a/projects/samples/essl_to_glsl.vcxproj +++ b/projects/samples/essl_to_glsl.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{293E74D1-544C-D368-02A0-52F61A4D0679}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>essl_to_glsl</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,23 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -143,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -157,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -194,10 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/essl_to_glsl.vcxproj.filters b/projects/samples/essl_to_glsl.vcxproj.filters index 2d54f3c2..ec46fd34 100644 --- a/projects/samples/essl_to_glsl.vcxproj.filters +++ b/projects/samples/essl_to_glsl.vcxproj.filters @@ -6,9 +6,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\translator\translator.cpp"> <Filter>translator</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/essl_to_hlsl.vcxproj b/projects/samples/essl_to_hlsl.vcxproj index da4aa21a..8f187514 100644 --- a/projects/samples/essl_to_hlsl.vcxproj +++ b/projects/samples/essl_to_hlsl.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{B4D06330-EED1-6F99-BCA4-2F913908C38A}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>essl_to_hlsl</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,23 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -143,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -157,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -194,10 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\src;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/essl_to_hlsl.vcxproj.filters b/projects/samples/essl_to_hlsl.vcxproj.filters index 2d54f3c2..ec46fd34 100644 --- a/projects/samples/essl_to_hlsl.vcxproj.filters +++ b/projects/samples/essl_to_hlsl.vcxproj.filters @@ -6,9 +6,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\translator\translator.cpp"> <Filter>translator</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/hello_triangle.vcxproj b/projects/samples/hello_triangle.vcxproj index 95349e8a..2ebeb1e5 100644 --- a/projects/samples/hello_triangle.vcxproj +++ b/projects/samples/hello_triangle.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{3F4D97A9-0809-E0E4-5A3F-B6ACB6EABB46}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>hello_triangle</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/hello_triangle.vcxproj.filters b/projects/samples/hello_triangle.vcxproj.filters index 94b76890..40310ab0 100644 --- a/projects/samples/hello_triangle.vcxproj.filters +++ b/projects/samples/hello_triangle.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\hello_triangle\HelloTriangle.cpp"> <Filter>angle\hello_triangle</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/mip_map_2d.vcxproj b/projects/samples/mip_map_2d.vcxproj index 787b1c7a..e90feef3 100644 --- a/projects/samples/mip_map_2d.vcxproj +++ b/projects/samples/mip_map_2d.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{A6E86EB3-561F-9FAB-670F-EF23556344BE}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>mip_map_2d</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/mip_map_2d.vcxproj.filters b/projects/samples/mip_map_2d.vcxproj.filters index d177a882..4e9fe867 100644 --- a/projects/samples/mip_map_2d.vcxproj.filters +++ b/projects/samples/mip_map_2d.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\mip_map_2d\MipMap2D.cpp"> <Filter>angle\mip_map_2d</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/multi_texture.vcxproj b/projects/samples/multi_texture.vcxproj index 774df3dc..e7b7daf0 100644 --- a/projects/samples/multi_texture.vcxproj +++ b/projects/samples/multi_texture.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{37E1BB43-65DC-A25A-042E-30B88E6C75A2}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>multi_texture</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -207,13 +230,13 @@ <ItemGroup> <CustomBuild Include="..\..\samples\angle\multi_texture\lightmap.tga"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multi_texture\lightmap.tga" "$(OutDir)lightmap.tga"</Command> + <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multi_texture\lightmap.tga" "$(OutDir)lightmap.tga"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying angle/multi_texture/lightmap.tga to $(OutDir)\lightmap.tga</Message> <Outputs>$(OutDir)\lightmap.tga</Outputs> </CustomBuild> <CustomBuild Include="..\..\samples\angle\multi_texture\basemap.tga"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multi_texture\basemap.tga" "$(OutDir)basemap.tga"</Command> + <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multi_texture\basemap.tga" "$(OutDir)basemap.tga"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying angle/multi_texture/basemap.tga to $(OutDir)\basemap.tga</Message> <Outputs>$(OutDir)\basemap.tga</Outputs> </CustomBuild> diff --git a/projects/samples/multi_texture.vcxproj.filters b/projects/samples/multi_texture.vcxproj.filters index 58764c67..d6bb352d 100644 --- a/projects/samples/multi_texture.vcxproj.filters +++ b/projects/samples/multi_texture.vcxproj.filters @@ -7,17 +7,29 @@ <Filter Include="angle\multi_texture"> <UniqueIdentifier>{7EDA6A50-7444-2574-045E-767D27689CC9}</UniqueIdentifier> </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\multi_texture"> + <UniqueIdentifier>{7EDA6A50-7444-2574-045E-767D27689CC9}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\multi_texture"> + <UniqueIdentifier>{7EDA6A50-7444-2574-045E-767D27689CC9}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> - <None Include="..\..\samples\angle\multi_texture\lightmap.tga"> + <ClCompile Include="..\..\samples\angle\multi_texture\MultiTexture.cpp"> <Filter>angle\multi_texture</Filter> - </None> + </ClCompile> + <None Include="..\..\samples\samples.gyp"/> <None Include="..\..\samples\angle\multi_texture\basemap.tga"> <Filter>angle\multi_texture</Filter> </None> - <ClCompile Include="..\..\samples\angle\multi_texture\MultiTexture.cpp"> + <None Include="..\..\samples\angle\multi_texture\lightmap.tga"> <Filter>angle\multi_texture</Filter> - </ClCompile> + </None> </ItemGroup> </Project> diff --git a/projects/samples/multiple_draw_buffers.vcxproj b/projects/samples/multiple_draw_buffers.vcxproj index c145002e..0c602010 100644 --- a/projects/samples/multiple_draw_buffers.vcxproj +++ b/projects/samples/multiple_draw_buffers.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{58BE89D7-25D5-CC84-EDBF-412C12C59709}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>multiple_draw_buffers</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -207,19 +230,19 @@ <ItemGroup> <CustomBuild Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_vs.glsl"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_vs.glsl" "$(OutDir)multiple_draw_buffers_vs.glsl"</Command> + <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_vs.glsl" "$(OutDir)multiple_draw_buffers_vs.glsl"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying angle/multiple_draw_buffers/multiple_draw_buffers_vs.glsl to $(OutDir)\multiple_draw_buffers_vs.glsl</Message> <Outputs>$(OutDir)\multiple_draw_buffers_vs.glsl</Outputs> </CustomBuild> <CustomBuild Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_copy_fs.glsl"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_copy_fs.glsl" "$(OutDir)multiple_draw_buffers_copy_fs.glsl"</Command> + <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_copy_fs.glsl" "$(OutDir)multiple_draw_buffers_copy_fs.glsl"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying angle/multiple_draw_buffers/multiple_draw_buffers_copy_fs.glsl to $(OutDir)\multiple_draw_buffers_copy_fs.glsl</Message> <Outputs>$(OutDir)\multiple_draw_buffers_copy_fs.glsl</Outputs> </CustomBuild> <CustomBuild Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_fs.glsl"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_fs.glsl" "$(OutDir)multiple_draw_buffers_fs.glsl"</Command> + <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_fs.glsl" "$(OutDir)multiple_draw_buffers_fs.glsl"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying angle/multiple_draw_buffers/multiple_draw_buffers_fs.glsl to $(OutDir)\multiple_draw_buffers_fs.glsl</Message> <Outputs>$(OutDir)\multiple_draw_buffers_fs.glsl</Outputs> </CustomBuild> diff --git a/projects/samples/multiple_draw_buffers.vcxproj.filters b/projects/samples/multiple_draw_buffers.vcxproj.filters index 86050907..ccdcf9f2 100644 --- a/projects/samples/multiple_draw_buffers.vcxproj.filters +++ b/projects/samples/multiple_draw_buffers.vcxproj.filters @@ -7,20 +7,38 @@ <Filter Include="angle\multiple_draw_buffers"> <UniqueIdentifier>{D0BAF5AC-C79C-4569-5154-A04FD87C707E}</UniqueIdentifier> </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\multiple_draw_buffers"> + <UniqueIdentifier>{D0BAF5AC-C79C-4569-5154-A04FD87C707E}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\multiple_draw_buffers"> + <UniqueIdentifier>{D0BAF5AC-C79C-4569-5154-A04FD87C707E}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\multiple_draw_buffers"> + <UniqueIdentifier>{D0BAF5AC-C79C-4569-5154-A04FD87C707E}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> + <ClCompile Include="..\..\samples\angle\multiple_draw_buffers\MultipleDrawBuffers.cpp"> + <Filter>angle\multiple_draw_buffers</Filter> + </ClCompile> <None Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_copy_fs.glsl"> <Filter>angle\multiple_draw_buffers</Filter> </None> - <None Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_vs.glsl"> + <None Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_fs.glsl"> <Filter>angle\multiple_draw_buffers</Filter> </None> - <ClCompile Include="..\..\samples\angle\multiple_draw_buffers\MultipleDrawBuffers.cpp"> - <Filter>angle\multiple_draw_buffers</Filter> - </ClCompile> - <None Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_fs.glsl"> + <None Include="..\..\samples\angle\multiple_draw_buffers\multiple_draw_buffers_vs.glsl"> <Filter>angle\multiple_draw_buffers</Filter> </None> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/particle_system.vcxproj b/projects/samples/particle_system.vcxproj index 751bc238..52388854 100644 --- a/projects/samples/particle_system.vcxproj +++ b/projects/samples/particle_system.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{8C20B90A-FBCB-B63F-435A-3299A1C38B2C}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>particle_system</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -207,7 +230,7 @@ <ItemGroup> <CustomBuild Include="..\..\samples\angle\particle_system\smoke.tga"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\particle_system\smoke.tga" "$(OutDir)smoke.tga"</Command> + <Command>call mkdir "$(OutDir)" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\samples\angle\particle_system\smoke.tga" "$(OutDir)smoke.tga"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying angle/particle_system/smoke.tga to $(OutDir)\smoke.tga</Message> <Outputs>$(OutDir)\smoke.tga</Outputs> </CustomBuild> diff --git a/projects/samples/particle_system.vcxproj.filters b/projects/samples/particle_system.vcxproj.filters index f88f2d00..f2400df9 100644 --- a/projects/samples/particle_system.vcxproj.filters +++ b/projects/samples/particle_system.vcxproj.filters @@ -7,12 +7,18 @@ <Filter Include="angle\particle_system"> <UniqueIdentifier>{BF3D6113-EF81-F63D-D06D-FD080BFBE471}</UniqueIdentifier> </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\particle_system"> + <UniqueIdentifier>{BF3D6113-EF81-F63D-D06D-FD080BFBE471}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\particle_system\ParticleSystem.cpp"> <Filter>angle\particle_system</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> <None Include="..\..\samples\angle\particle_system\smoke.tga"> <Filter>angle\particle_system</Filter> </None> diff --git a/projects/samples/post_sub_buffer.vcxproj b/projects/samples/post_sub_buffer.vcxproj index 44a985ce..995b9201 100644 --- a/projects/samples/post_sub_buffer.vcxproj +++ b/projects/samples/post_sub_buffer.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{CBE3D362-43EA-60FC-D5AC-490039CA449A}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>post_sub_buffer</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/post_sub_buffer.vcxproj.filters b/projects/samples/post_sub_buffer.vcxproj.filters index e4ee1a6a..85fd1f2f 100644 --- a/projects/samples/post_sub_buffer.vcxproj.filters +++ b/projects/samples/post_sub_buffer.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\post_sub_buffer\PostSubBuffer.cpp"> <Filter>angle\post_sub_buffer</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/sample_util.vcxproj b/projects/samples/sample_util.vcxproj index 59445556..c3ace784 100644 --- a/projects/samples/sample_util.vcxproj +++ b/projects/samples/sample_util.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{297C46B0-9263-A9EA-82B1-EA221E7D7C7F}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>sample_util</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,13 +70,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,31 +212,33 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\samples\angle\sample_util;$(OutDir)obj\global_intermediate\angle;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> <None Include="..\..\samples\samples.gyp"/> </ItemGroup> <ItemGroup> - <ClInclude Include="..\..\samples\angle\sample_util\Vector.h"/> - <ClInclude Include="..\..\samples\angle\sample_util\geometry_utils.h"/> <ClInclude Include="..\..\samples\angle\sample_util\Matrix.h"/> - <ClInclude Include="..\..\samples\angle\sample_util\random_utils.h"/> - <ClInclude Include="..\..\samples\angle\sample_util\tga_utils.h"/> <ClInclude Include="..\..\samples\angle\sample_util\SampleApplication.h"/> + <ClInclude Include="..\..\samples\angle\sample_util\Vector.h"/> + <ClInclude Include="..\..\samples\angle\sample_util\geometry_utils.h"/> <ClInclude Include="..\..\samples\angle\sample_util\texture_utils.h"/> + <ClInclude Include="..\..\samples\angle\sample_util\tga_utils.h"/> </ItemGroup> <ItemGroup> - <ClCompile Include="..\..\samples\angle\sample_util\texture_utils.cpp"/> + <ClCompile Include="..\..\samples\angle\sample_util\Matrix.cpp"/> <ClCompile Include="..\..\samples\angle\sample_util\SampleApplication.cpp"/> - <ClCompile Include="..\..\samples\angle\sample_util\geometry_utils.cpp"/> <ClCompile Include="..\..\samples\angle\sample_util\Vector.cpp"/> + <ClCompile Include="..\..\samples\angle\sample_util\geometry_utils.cpp"/> + <ClCompile Include="..\..\samples\angle\sample_util\texture_utils.cpp"/> <ClCompile Include="..\..\samples\angle\sample_util\tga_utils.cpp"/> - <ClCompile Include="..\..\samples\angle\sample_util\random_utils.cpp"/> - <ClCompile Include="..\..\samples\angle\sample_util\Matrix.cpp"/> </ItemGroup> <ItemGroup> <ProjectReference Include="..\src\libEGL.vcxproj"> diff --git a/projects/samples/sample_util.vcxproj.filters b/projects/samples/sample_util.vcxproj.filters index 7ac54a35..1707436e 100644 --- a/projects/samples/sample_util.vcxproj.filters +++ b/projects/samples/sample_util.vcxproj.filters @@ -7,50 +7,110 @@ <Filter Include="angle\sample_util"> <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> + <Filter Include="angle"> + <UniqueIdentifier>{2039F76D-4C9A-B8A0-444A-4766C6F6104A}</UniqueIdentifier> + </Filter> + <Filter Include="angle\sample_util"> + <UniqueIdentifier>{60D21765-6E5A-8668-B584-931D7874AF54}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> - <ClInclude Include="..\..\samples\angle\sample_util\Vector.h"> + <ClCompile Include="..\..\samples\angle\sample_util\Matrix.cpp"> <Filter>angle\sample_util</Filter> - </ClInclude> - <ClInclude Include="..\..\samples\angle\sample_util\geometry_utils.h"> + </ClCompile> + <ClInclude Include="..\..\samples\angle\sample_util\Matrix.h"> <Filter>angle\sample_util</Filter> </ClInclude> - <ClCompile Include="..\..\samples\angle\sample_util\texture_utils.cpp"> - <Filter>angle\sample_util</Filter> - </ClCompile> <ClCompile Include="..\..\samples\angle\sample_util\SampleApplication.cpp"> <Filter>angle\sample_util</Filter> </ClCompile> - <ClInclude Include="..\..\samples\angle\sample_util\Matrix.h"> - <Filter>angle\sample_util</Filter> - </ClInclude> - <ClInclude Include="..\..\samples\angle\sample_util\random_utils.h"> + <ClInclude Include="..\..\samples\angle\sample_util\SampleApplication.h"> <Filter>angle\sample_util</Filter> </ClInclude> - <ClCompile Include="..\..\samples\angle\sample_util\geometry_utils.cpp"> - <Filter>angle\sample_util</Filter> - </ClCompile> <ClCompile Include="..\..\samples\angle\sample_util\Vector.cpp"> <Filter>angle\sample_util</Filter> </ClCompile> - <ClCompile Include="..\..\samples\angle\sample_util\tga_utils.cpp"> + <ClInclude Include="..\..\samples\angle\sample_util\Vector.h"> + <Filter>angle\sample_util</Filter> + </ClInclude> + <ClCompile Include="..\..\samples\angle\sample_util\geometry_utils.cpp"> <Filter>angle\sample_util</Filter> </ClCompile> - <ClInclude Include="..\..\samples\angle\sample_util\tga_utils.h"> + <ClInclude Include="..\..\samples\angle\sample_util\geometry_utils.h"> <Filter>angle\sample_util</Filter> </ClInclude> - <ClCompile Include="..\..\samples\angle\sample_util\random_utils.cpp"> + <ClCompile Include="..\..\samples\angle\sample_util\texture_utils.cpp"> <Filter>angle\sample_util</Filter> </ClCompile> - <ClInclude Include="..\..\samples\angle\sample_util\SampleApplication.h"> + <ClInclude Include="..\..\samples\angle\sample_util\texture_utils.h"> <Filter>angle\sample_util</Filter> </ClInclude> - <ClCompile Include="..\..\samples\angle\sample_util\Matrix.cpp"> + <ClCompile Include="..\..\samples\angle\sample_util\tga_utils.cpp"> <Filter>angle\sample_util</Filter> </ClCompile> - <ClInclude Include="..\..\samples\angle\sample_util\texture_utils.h"> + <ClInclude Include="..\..\samples\angle\sample_util\tga_utils.h"> <Filter>angle\sample_util</Filter> </ClInclude> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/simple_instancing.vcxproj b/projects/samples/simple_instancing.vcxproj index 577f0d3d..e8a02a1e 100644 --- a/projects/samples/simple_instancing.vcxproj +++ b/projects/samples/simple_instancing.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{130A534E-6BA3-DB9C-B0D2-5ACE5CCB2632}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>simple_instancing</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/simple_instancing.vcxproj.filters b/projects/samples/simple_instancing.vcxproj.filters index d865f72a..72b3b225 100644 --- a/projects/samples/simple_instancing.vcxproj.filters +++ b/projects/samples/simple_instancing.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\simple_instancing\SimpleInstancing.cpp"> <Filter>angle\simple_instancing</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/simple_texture_2d.vcxproj b/projects/samples/simple_texture_2d.vcxproj index afd56a00..ec57bb67 100644 --- a/projects/samples/simple_texture_2d.vcxproj +++ b/projects/samples/simple_texture_2d.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{0BD6333E-E82C-7665-C386-CDA40096413D}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>simple_texture_2d</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/simple_texture_2d.vcxproj.filters b/projects/samples/simple_texture_2d.vcxproj.filters index df9c43ab..b026e983 100644 --- a/projects/samples/simple_texture_2d.vcxproj.filters +++ b/projects/samples/simple_texture_2d.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\simple_texture_2d\SimpleTexture2D.cpp"> <Filter>angle\simple_texture_2d</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/simple_texture_cubemap.vcxproj b/projects/samples/simple_texture_cubemap.vcxproj index 037e1ba9..fd8b859c 100644 --- a/projects/samples/simple_texture_cubemap.vcxproj +++ b/projects/samples/simple_texture_cubemap.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{93B7F18A-947E-69A1-9CD8-D1E5144E792A}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>simple_texture_cubemap</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/simple_texture_cubemap.vcxproj.filters b/projects/samples/simple_texture_cubemap.vcxproj.filters index 04e94bcb..e7c52ff9 100644 --- a/projects/samples/simple_texture_cubemap.vcxproj.filters +++ b/projects/samples/simple_texture_cubemap.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\simple_texture_cubemap\SimpleTextureCubemap.cpp"> <Filter>angle\simple_texture_cubemap</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/simple_vertex_shader.vcxproj b/projects/samples/simple_vertex_shader.vcxproj index 146b578c..de430567 100644 --- a/projects/samples/simple_vertex_shader.vcxproj +++ b/projects/samples/simple_vertex_shader.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{459E5678-892C-4EF9-6ED8-0D9E5272B4FF}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>simple_vertex_shader</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/simple_vertex_shader.vcxproj.filters b/projects/samples/simple_vertex_shader.vcxproj.filters index 8ad33d4d..d7c99954 100644 --- a/projects/samples/simple_vertex_shader.vcxproj.filters +++ b/projects/samples/simple_vertex_shader.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\simple_vertex_shader\SimpleVertexShader.cpp"> <Filter>angle\simple_vertex_shader</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/stencil_operations.vcxproj b/projects/samples/stencil_operations.vcxproj index 4cc706a8..6bf333b4 100644 --- a/projects/samples/stencil_operations.vcxproj +++ b/projects/samples/stencil_operations.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{92582B26-5131-8C32-39D9-5768C7FA12B4}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>stencil_operations</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/stencil_operations.vcxproj.filters b/projects/samples/stencil_operations.vcxproj.filters index f3c07ead..f331f9df 100644 --- a/projects/samples/stencil_operations.vcxproj.filters +++ b/projects/samples/stencil_operations.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\stencil_operations\StencilOperations.cpp"> <Filter>angle\stencil_operations</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/samples/texture_wrap.vcxproj b/projects/samples/texture_wrap.vcxproj index 3218dfd8..f3441e6b 100644 --- a/projects/samples/texture_wrap.vcxproj +++ b/projects/samples/texture_wrap.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{46160987-0221-9E14-3B88-80F9FCFCFFBF}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>texture_wrap</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,36 +84,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,12 +156,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,35 +170,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;4201;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,9 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\include;..\..\samples\angle\sample_util;..\..\util;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/samples/texture_wrap.vcxproj.filters b/projects/samples/texture_wrap.vcxproj.filters index 1e6f5c8c..042239f3 100644 --- a/projects/samples/texture_wrap.vcxproj.filters +++ b/projects/samples/texture_wrap.vcxproj.filters @@ -9,9 +9,9 @@ </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\samples\samples.gyp"/> <ClCompile Include="..\..\samples\angle\texture_wrap\TextureWrap.cpp"> <Filter>angle\texture_wrap</Filter> </ClCompile> + <None Include="..\..\samples\samples.gyp"/> </ItemGroup> </Project> diff --git a/projects/src/commit_id.vcxproj b/projects/src/commit_id.vcxproj index da98f645..017b6840 100644 --- a/projects/src/commit_id.vcxproj +++ b/projects/src/commit_id.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{3B7F5656-177F-52EE-26B3-D6A75368D0A9}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>commit_id</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -52,23 +53,26 @@ <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -78,6 +82,7 @@ </Link> <ResourceCompile> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> @@ -85,22 +90,25 @@ <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -110,29 +118,33 @@ </Link> <ResourceCompile> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -142,28 +154,32 @@ </Link> <ResourceCompile> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -173,6 +189,7 @@ </Link> <ResourceCompile> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -181,7 +198,7 @@ <ItemGroup> <CustomBuild Include="..\..\src\commit.h"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)obj\global_intermediate\angle\id" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\src\commit.h" "$(OutDir)obj\global_intermediate\angle\id\commit.h"</Command> + <Command>call mkdir "$(OutDir)obj\global_intermediate\angle\id" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\src\commit.h" "$(OutDir)obj\global_intermediate\angle\id\commit.h"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying commit.h to $(OutDir)obj/global_intermediate/angle/id\commit.h</Message> <Outputs>$(OutDir)obj\global_intermediate\angle\id\commit.h</Outputs> </CustomBuild> diff --git a/projects/src/copy_compiler_dll.vcxproj b/projects/src/copy_compiler_dll.vcxproj index b01ab2b3..0b54db26 100644 --- a/projects/src/copy_compiler_dll.vcxproj +++ b/projects/src/copy_compiler_dll.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{22DC02D5-1598-943C-13E1-82185B469F81}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>copy_compiler_dll</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -49,16 +50,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -66,12 +69,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -79,36 +82,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -116,22 +124,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -139,12 +153,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -152,35 +166,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -188,9 +207,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -199,7 +222,7 @@ <ItemGroup> <CustomBuild Include="..\..\src\copy_compiler_dll.bat"> <FileType>Document</FileType> - <Command>call call $(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat "$(Platform)" "C:\Program Files (x86)\Windows Kits\8.0" "$(OutDir)"</Command> + <Command>call call $(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat "$(Platform)" "C:\Program Files (x86)\Windows Kits\8.0" "$(OutDir)"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying D3D Compiler DLL...</Message> <Outputs>$(OutDir)\d3dcompiler_46.dll</Outputs> </CustomBuild> diff --git a/projects/src/copy_scripts.vcxproj b/projects/src/copy_scripts.vcxproj index e7c2613c..fd521452 100644 --- a/projects/src/copy_scripts.vcxproj +++ b/projects/src/copy_scripts.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{63FB0B97-D1D9-5158-8E85-7F5B1E403817}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>copy_scripts</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -49,26 +50,31 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> - <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -76,31 +82,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> - <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -108,31 +124,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> - <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -140,30 +166,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> - <AdditionalDependencies></AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -171,8 +207,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> @@ -181,13 +222,13 @@ <ItemGroup> <CustomBuild Include="..\..\src\commit_id.py"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)obj\global_intermediate\angle" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\src\commit_id.py" "$(OutDir)obj\global_intermediate\angle\commit_id.py"</Command> + <Command>call mkdir "$(OutDir)obj\global_intermediate\angle" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\src\commit_id.py" "$(OutDir)obj\global_intermediate\angle\commit_id.py"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying commit_id.py to $(OutDir)obj/global_intermediate/angle\commit_id.py</Message> <Outputs>$(OutDir)obj\global_intermediate\angle\commit_id.py</Outputs> </CustomBuild> <CustomBuild Include="..\..\src\copy_compiler_dll.bat"> <FileType>Document</FileType> - <Command>call mkdir "$(OutDir)obj\global_intermediate\angle" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\src\copy_compiler_dll.bat" "$(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat"</Command> + <Command>call mkdir "$(OutDir)obj\global_intermediate\angle" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\src\copy_compiler_dll.bat" "$(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> <Message>Copying copy_compiler_dll.bat to $(OutDir)obj/global_intermediate/angle\copy_compiler_dll.bat</Message> <Outputs>$(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat</Outputs> </CustomBuild> diff --git a/projects/src/libANGLE.vcxproj b/projects/src/libANGLE.vcxproj index c4185b7d..0a1f0265 100644 --- a/projects/src/libANGLE.vcxproj +++ b/projects/src/libANGLE.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{CAAA04EE-A56A-43FB-D011-1A56053C070C}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>libANGLE</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,30 +51,32 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;ANGLE_ENABLE_PERF;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;ANGLE_ENABLE_PERF;ANGLE_GENERATE_SHADER_DEBUG_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;d3d9.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;ANGLE_ENABLE_PERF;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;ANGLE_ENABLE_PERF;ANGLE_GENERATE_SHADER_DEBUG_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,23 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -143,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -157,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -194,298 +212,304 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> - <None Include="..\..\src\libGLESv2\renderer\loadimage.inl"/> - <None Include="..\..\src\libGLESv2\renderer\copyvertex.inl"/> <None Include="..\..\src\libGLESv2\renderer\copyimage.inl"/> + <None Include="..\..\src\libGLESv2\renderer\copyvertex.inl"/> <None Include="..\..\src\libGLESv2\renderer\generatemip.inl"/> + <None Include="..\..\src\libGLESv2\renderer\loadimage.inl"/> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> <ItemGroup> - <ClInclude Include="..\..\src\libGLESv2\Shader.h"/> + <ClInclude Include="..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\include\EGL\eglext.h"/> + <ClInclude Include="..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\include\GLES2\gl2.h"/> + <ClInclude Include="..\..\include\GLES2\gl2ext.h"/> + <ClInclude Include="..\..\include\GLES2\gl2platform.h"/> + <ClInclude Include="..\..\include\GLES3\gl3.h"/> + <ClInclude Include="..\..\include\GLES3\gl3ext.h"/> + <ClInclude Include="..\..\include\GLES3\gl3platform.h"/> + <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/> + <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"/> + <ClInclude Include="..\..\include\KHR\khrplatform.h"/> + <ClInclude Include="..\..\include\angle_gl.h"/> + <ClInclude Include="..\..\src\common\RefCountObject.h"/> + <ClInclude Include="..\..\src\common\angleutils.h"/> + <ClInclude Include="..\..\src\common\blocklayout.h"/> + <ClInclude Include="..\..\src\common\debug.h"/> + <ClInclude Include="..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\src\common\mathutil.h"/> + <ClInclude Include="..\..\src\common\platform.h"/> + <ClInclude Include="..\..\src\common\NativeWindow.h"/> + <ClInclude Include="..\..\src\common\tls.h"/> + <ClInclude Include="..\..\src\common\utilities.h"/> + <ClInclude Include="..\..\src\common\version.h"/> <ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"/> - <ClInclude Include="..\..\src\libGLESv2\resource.h"/> - <ClInclude Include="..\..\src\libGLESv2\ImageIndex.h"/> - <ClInclude Include="..\..\src\libGLESv2\Sampler.h"/> + <ClInclude Include="..\..\src\libGLESv2\Buffer.h"/> <ClInclude Include="..\..\src\libGLESv2\Caps.h"/> - <ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"/> + <ClInclude Include="..\..\src\libGLESv2\Constants.h"/> <ClInclude Include="..\..\src\libGLESv2\Context.h"/> - <ClInclude Include="..\..\src\libGLESv2\Query.h"/> - <ClInclude Include="..\..\src\libGLESv2\Texture.h"/> - <ClInclude Include="..\..\src\libGLESv2\Uniform.h"/> - <ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h"/> - <ClInclude Include="..\..\src\libGLESv2\constants.h"/> + <ClInclude Include="..\..\src\libGLESv2\Error.h"/> + <ClInclude Include="..\..\src\libGLESv2\Fence.h"/> + <ClInclude Include="..\..\src\libGLESv2\Framebuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\FramebufferAttachment.h"/> - <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"/> - <ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/> - <ClInclude Include="..\..\src\libGLESv2\validationES3.h"/> - <ClInclude Include="..\..\src\libGLESv2\Program.h"/> <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/> - <ClInclude Include="..\..\src\libGLESv2\Error.h"/> + <ClInclude Include="..\..\src\libGLESv2\ImageIndex.h"/> + <ClInclude Include="..\..\src\libGLESv2\Program.h"/> + <ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h"/> + <ClInclude Include="..\..\src\libGLESv2\Query.h"/> + <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/> + <ClInclude Include="..\..\src\libGLESv2\Sampler.h"/> + <ClInclude Include="..\..\src\libGLESv2\Shader.h"/> + <ClInclude Include="..\..\src\libGLESv2\State.h"/> + <ClInclude Include="..\..\src\libGLESv2\Texture.h"/> + <ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"/> + <ClInclude Include="..\..\src\libGLESv2\Uniform.h"/> + <ClInclude Include="..\..\src\libGLESv2\VertexArray.h"/> <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/> - <ClInclude Include="..\..\src\libGLESv2\validationES2.h"/> - <ClInclude Include="..\..\src\libGLESv2\Fence.h"/> <ClInclude Include="..\..\src\libGLESv2\angletypes.h"/> - <ClInclude Include="..\..\src\libGLESv2\main.h"/> - <ClInclude Include="..\..\src\libGLESv2\VertexArray.h"/> - <ClInclude Include="..\..\src\libGLESv2\Framebuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\formatutils.h"/> - <ClInclude Include="..\..\src\libGLESv2\Buffer.h"/> - <ClInclude Include="..\..\src\libGLESv2\State.h"/> - <ClInclude Include="..\..\src\libGLESv2\validationES.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\TextureImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\main.h"/> + <ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\BufferImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\Image.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\ProgramImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\TextureImpl.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\TransformFeedbackImpl.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\ProgramImpl.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\Workarounds.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\BufferImpl.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\Image.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"/> + <ClInclude Include="..\..\src\libGLESv2\resource.h"/> + <ClInclude Include="..\..\src\libGLESv2\validationES.h"/> + <ClInclude Include="..\..\src\libGLESv2\validationES2.h"/> + <ClInclude Include="..\..\src\libGLESv2\validationES3.h"/> + <ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h"/> + <ClInclude Include="..\..\src\third_party\systeminfo\SystemInfo.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderCache.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\componentmaskps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\flipyvs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\luminanceps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\passthroughps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\standardvs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexArray9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderCache.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexArray9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\standardvs.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\luminanceps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\componentmaskps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\passthroughps.h"/> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\flipyvs.h"/> - <ClInclude Include="..\..\src\common\tls.h"/> - <ClInclude Include="..\..\src\common\mathutil.h"/> - <ClInclude Include="..\..\src\common\blocklayout.h"/> - <ClInclude Include="..\..\src\common\debug.h"/> - <ClInclude Include="..\..\src\common\utilities.h"/> - <ClInclude Include="..\..\src\common\RefCountObject.h"/> - <ClInclude Include="..\..\src\common\event_tracer.h"/> - <ClInclude Include="..\..\src\common\angleutils.h"/> - <ClInclude Include="..\..\src\common\platform.h"/> - <ClInclude Include="..\..\src\common\version.h"/> - <ClInclude Include="..\..\src\third_party\systeminfo\SystemInfo.h"/> - <ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h"/> - <ClInclude Include="..\..\include\angle_gl.h"/> - <ClInclude Include="..\..\include\KHR\khrplatform.h"/> - <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/> - <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"/> - <ClInclude Include="..\..\include\GLES2\gl2ext.h"/> - <ClInclude Include="..\..\include\GLES2\gl2.h"/> - <ClInclude Include="..\..\include\GLES2\gl2platform.h"/> - <ClInclude Include="..\..\include\GLES3\gl3ext.h"/> - <ClInclude Include="..\..\include\GLES3\gl3.h"/> - <ClInclude Include="..\..\include\GLES3\gl3platform.h"/> - <ClInclude Include="..\..\include\EGL\eglext.h"/> - <ClInclude Include="..\..\include\EGL\egl.h"/> - <ClInclude Include="..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"/> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"/> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\src\common\RefCountObject.cpp"/> + <ClCompile Include="..\..\src\common\angleutils.cpp"/> + <ClCompile Include="..\..\src\common\blocklayout.cpp"/> + <ClCompile Include="..\..\src\common\debug.cpp"/> + <ClCompile Include="..\..\src\common\event_tracer.cpp"/> + <ClCompile Include="..\..\src\common\mathutil.cpp"/> + <ClCompile Include="..\..\src\common\tls.cpp"/> + <ClCompile Include="..\..\src\common\utilities.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Buffer.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Caps.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Context.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Error.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Fence.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\validationES.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Program.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\angletypes.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Float16ToFloat32.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\validationES3.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\FramebufferAttachment.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Query.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\State.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\ImageIndex.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Program.cpp"/> <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\VertexAttribute.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Caps.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Context.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Buffer.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Shader.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Uniform.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\main.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Query.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\ImageIndex.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Sampler.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Shader.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\State.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Texture.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\Uniform.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\VertexAttribute.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\angletypes.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\main.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\validationES.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\validationES3.cpp"/> + <ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp"/> + <ClCompile Include="..\..\src\third_party\systeminfo\SystemInfo.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.cpp"/> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.cpp"/> - <ClCompile Include="..\..\src\common\event_tracer.cpp"/> - <ClCompile Include="..\..\src\common\RefCountObject.cpp"/> - <ClCompile Include="..\..\src\common\tls.cpp"/> - <ClCompile Include="..\..\src\common\utilities.cpp"/> - <ClCompile Include="..\..\src\common\mathutil.cpp"/> - <ClCompile Include="..\..\src\common\debug.cpp"/> - <ClCompile Include="..\..\src\common\blocklayout.cpp"/> - <ClCompile Include="..\..\src\common\angleutils.cpp"/> - <ClCompile Include="..\..\src\third_party\systeminfo\SystemInfo.cpp"/> - <ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"/> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"/> + <ClCompile Include="..\..\src\common\win32\NativeWindow.cpp"/> </ItemGroup> <ItemGroup> <ProjectReference Include="commit_id.vcxproj"> diff --git a/projects/src/libANGLE.vcxproj.filters b/projects/src/libANGLE.vcxproj.filters index 2776e864..8d39fa00 100644 --- a/projects/src/libANGLE.vcxproj.filters +++ b/projects/src/libANGLE.vcxproj.filters @@ -1,6 +1,882 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\KHR"> + <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\murmurhash"> + <UniqueIdentifier>{FBF5769C-D63C-9100-0719-0B97CE76B013}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\murmurhash"> + <UniqueIdentifier>{FBF5769C-D63C-9100-0719-0B97CE76B013}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\systeminfo"> + <UniqueIdentifier>{8E42519F-DD71-5875-38CA-0ED32E34DB55}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\systeminfo"> + <UniqueIdentifier>{8E42519F-DD71-5875-38CA-0ED32E34DB55}</UniqueIdentifier> + </Filter> <Filter Include="src"> <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> @@ -13,15 +889,693 @@ <Filter Include="src\libGLESv2\renderer\d3d"> <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> </Filter> - <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> - <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> - <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders"> <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> </Filter> - <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders\compiled"> <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> </Filter> @@ -31,114 +1585,2004 @@ <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders\compiled"> <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> </Filter> - <Filter Include="src\common"> - <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> - <Filter Include="src\third_party"> - <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> </Filter> - <Filter Include="src\third_party\systeminfo"> - <UniqueIdentifier>{8E42519F-DD71-5875-38CA-0ED32E34DB55}</UniqueIdentifier> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> </Filter> - <Filter Include="src\third_party\murmurhash"> - <UniqueIdentifier>{FBF5769C-D63C-9100-0719-0B97CE76B013}</UniqueIdentifier> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> </Filter> - <Filter Include="include"> - <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> </Filter> - <Filter Include="include\KHR"> - <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> </Filter> - <Filter Include="include\GLSLANG"> - <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> </Filter> - <Filter Include="include\GLES2"> - <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> - <Filter Include="include\GLES3"> - <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> </Filter> - <Filter Include="include\EGL"> - <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d9"> + <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\win32"> + <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"> - <Filter>src</Filter> - </None> - <ClInclude Include="..\..\src\libGLESv2\Shader.h"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\include\EGL\egl.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Error.cpp"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\include\EGL\eglext.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\include\EGL\eglplatform.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES2\gl2.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES2\gl2ext.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES2\gl2platform.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3ext.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3platform.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\include\KHR\khrplatform.h"> + <Filter>include\KHR</Filter> + </ClInclude> + <ClInclude Include="..\..\include\angle_gl.h"> + <Filter>include</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\RefCountObject.cpp"> + <Filter>src\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\common\RefCountObject.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\angleutils.cpp"> + <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\common\angleutils.h"> + <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\resource.h"> - <Filter>src\libGLESv2</Filter> + <ClCompile Include="..\..\src\common\blocklayout.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\blocklayout.h"> + <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\ImageIndex.h"> - <Filter>src\libGLESv2</Filter> + <ClCompile Include="..\..\src\common\debug.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\debug.h"> + <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Sampler.h"> - <Filter>src\libGLESv2</Filter> + <ClCompile Include="..\..\src\common\event_tracer.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\event_tracer.h"> + <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Caps.h"> - <Filter>src\libGLESv2</Filter> + <ClCompile Include="..\..\src\common\mathutil.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\mathutil.h"> + <Filter>src\common</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\common\platform.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\src\common\NativeWindow.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\tls.cpp"> + <Filter>src\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\common\tls.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\utilities.cpp"> + <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\common\utilities.h"> + <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Context.h"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\common\version.h"> + <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Query.h"> + <ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Buffer.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\Fence.cpp"> + <ClInclude Include="..\..\src\libGLESv2\Buffer.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\Caps.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\Texture.h"> + <ClInclude Include="..\..\src\libGLESv2\Caps.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\validationES.cpp"> + <ClInclude Include="..\..\src\libGLESv2\Constants.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\Context.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\Uniform.h"> + <ClInclude Include="..\..\src\libGLESv2\Context.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Program.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Error.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"> + <ClInclude Include="..\..\src\libGLESv2\Error.h"> <Filter>src\libGLESv2</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\angletypes.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\Fence.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\Fence.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> <ClCompile Include="..\..\src\libGLESv2\Float16ToFloat32.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h"> - <Filter>src\libGLESv2</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\validationES3.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\constants.h"> + <ClInclude Include="..\..\src\libGLESv2\Framebuffer.h"> <Filter>src\libGLESv2</Filter> </ClInclude> <ClCompile Include="..\..\src\libGLESv2\FramebufferAttachment.cpp"> @@ -147,226 +3591,283 @@ <ClInclude Include="..\..\src\libGLESv2\FramebufferAttachment.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Query.cpp"> + <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"> + <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"> <Filter>src\libGLESv2</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\State.cpp"> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\ImageIndex.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\ImageIndex.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Program.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"> + <ClInclude Include="..\..\src\libGLESv2\Program.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\VertexAttribute.cpp"> + <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\queryconversions.h"> + <ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\validationES3.h"> + <ClCompile Include="..\..\src\libGLESv2\Query.cpp"> <Filter>src\libGLESv2</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Program.h"> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\Query.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Caps.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"> + <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Error.h"> + <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"> <Filter>src\libGLESv2</Filter> - </ClInclude> + </ClCompile> <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Context.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Sampler.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"> + <ClInclude Include="..\..\src\libGLESv2\Sampler.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\validationES2.h"> + <ClCompile Include="..\..\src\libGLESv2\Shader.cpp"> <Filter>src\libGLESv2</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Fence.h"> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\Shader.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Buffer.cpp"> + <ClCompile Include="..\..\src\libGLESv2\State.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\angletypes.h"> + <ClInclude Include="..\..\src\libGLESv2\State.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp"> + <ClCompile Include="..\..\src\libGLESv2\Texture.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\Shader.cpp"> + <ClInclude Include="..\..\src\libGLESv2\Texture.h"> <Filter>src\libGLESv2</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\Uniform.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\main.cpp"> + <ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"> <Filter>src\libGLESv2</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\Uniform.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\main.h"> + <ClInclude Include="..\..\src\libGLESv2\Uniform.h"> <Filter>src\libGLESv2</Filter> </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> <ClInclude Include="..\..\src\libGLESv2\VertexArray.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\ImageIndex.cpp"> + <ClCompile Include="..\..\src\libGLESv2\VertexAttribute.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\Sampler.cpp"> + <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\angletypes.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\Framebuffer.h"> + <ClInclude Include="..\..\src\libGLESv2\angletypes.h"> <Filter>src\libGLESv2</Filter> </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> <ClInclude Include="..\..\src\libGLESv2\formatutils.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\Buffer.h"> + <ClCompile Include="..\..\src\libGLESv2\main.cpp"> <Filter>src\libGLESv2</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\State.h"> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\main.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp"> + <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"> <Filter>src\libGLESv2</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\validationES.h"> + <ClInclude Include="..\..\src\libGLESv2\queryconversions.h"> <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\Texture.cpp"> - <Filter>src\libGLESv2</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\BufferImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"> + <Filter>src\libGLESv2\renderer</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\Image.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"> <Filter>src\libGLESv2\renderer</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\TextureImpl.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\ProgramImpl.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <None Include="..\..\src\libGLESv2\renderer\loadimage.inl"> + <ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"> <Filter>src\libGLESv2\renderer</Filter> - </None> - <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderImpl.h"> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\TransformFeedbackImpl.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\ProgramImpl.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderImpl.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\TextureImpl.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\TransformFeedbackImpl.h"> <Filter>src\libGLESv2\renderer</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\BufferImpl.h"> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\Workarounds.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"> <Filter>src\libGLESv2\renderer</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"> + <None Include="..\..\src\libGLESv2\renderer\copyimage.inl"> + <Filter>src\libGLESv2\renderer</Filter> + </None> + <ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> <None Include="..\..\src\libGLESv2\renderer\copyvertex.inl"> <Filter>src\libGLESv2\renderer</Filter> </None> - <ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"> + <None Include="..\..\src\libGLESv2\renderer\generatemip.inl"> <Filter>src\libGLESv2\renderer</Filter> - </ClCompile> + </None> <ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <None Include="..\..\src\libGLESv2\renderer\copyimage.inl"> + <None Include="..\..\src\libGLESv2\renderer\loadimage.inl"> <Filter>src\libGLESv2\renderer</Filter> </None> - <ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"> <Filter>src\libGLESv2\renderer</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h"> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"> <Filter>src\libGLESv2\renderer</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\Image.h"> - <Filter>src\libGLESv2\renderer</Filter> + <ClInclude Include="..\..\src\libGLESv2\resource.h"> + <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h"> - <Filter>src\libGLESv2\renderer</Filter> + <ClCompile Include="..\..\src\libGLESv2\validationES.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\validationES.h"> + <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"> - <Filter>src\libGLESv2\renderer</Filter> + <ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\validationES2.h"> + <Filter>src\libGLESv2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"> - <Filter>src\libGLESv2\renderer</Filter> + <ClCompile Include="..\..\src\libGLESv2\validationES3.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\validationES3.h"> + <Filter>src\libGLESv2</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"> - <Filter>src\libGLESv2\renderer</Filter> + <ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp"> + <Filter>src\third_party\murmurhash</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"> - <Filter>src\libGLESv2\renderer</Filter> + <ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h"> + <Filter>src\third_party\murmurhash</Filter> + </ClInclude> + <ClCompile Include="..\..\src\third_party\systeminfo\SystemInfo.cpp"> + <Filter>src\third_party\systeminfo</Filter> </ClCompile> - <None Include="..\..\src\libGLESv2\renderer\generatemip.inl"> - <Filter>src\libGLESv2\renderer</Filter> - </None> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h"> - <Filter>src\libGLESv2\renderer\d3d</Filter> + <ClInclude Include="..\..\src\third_party\systeminfo\SystemInfo.h"> + <Filter>src\third_party\systeminfo</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"> @@ -375,536 +3876,425 @@ <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"> <Filter>src\libGLESv2\renderer\d3d</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h"> <Filter>src\libGLESv2\renderer\d3d</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"> - <Filter>src\libGLESv2\renderer\d3d</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"> - <Filter>src\libGLESv2\renderer\d3d</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"> - <Filter>src\libGLESv2\renderer\d3d</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"> - <Filter>src\libGLESv2\renderer\d3d</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h"> - <Filter>src\libGLESv2\renderer\d3d</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderCache.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\componentmaskps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\flipyvs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\luminanceps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\passthroughps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\standardvs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexArray9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> + </ClInclude> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"> <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderCache.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexArray9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.cpp"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Buffer9.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\standardvs.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\luminanceps.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\componentmaskps.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\passthroughps.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\flipyvs.h"> - <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter> - </ClInclude> - <ClInclude Include="..\..\src\common\tls.h"> - <Filter>src\common</Filter> - </ClInclude> - <ClInclude Include="..\..\src\common\mathutil.h"> - <Filter>src\common</Filter> - </ClInclude> - <ClCompile Include="..\..\src\common\event_tracer.cpp"> - <Filter>src\common</Filter> - </ClCompile> - <ClInclude Include="..\..\src\common\blocklayout.h"> - <Filter>src\common</Filter> - </ClInclude> - <ClCompile Include="..\..\src\common\RefCountObject.cpp"> - <Filter>src\common</Filter> - </ClCompile> - <ClCompile Include="..\..\src\common\tls.cpp"> - <Filter>src\common</Filter> - </ClCompile> - <ClInclude Include="..\..\src\common\debug.h"> - <Filter>src\common</Filter> - </ClInclude> - <ClInclude Include="..\..\src\common\utilities.h"> - <Filter>src\common</Filter> - </ClInclude> - <ClInclude Include="..\..\src\common\RefCountObject.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\event_tracer.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\utilities.cpp"> - <Filter>src\common</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\angleutils.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\mathutil.cpp"> - <Filter>src\common</Filter> - </ClCompile> - <ClCompile Include="..\..\src\common\debug.cpp"> - <Filter>src\common</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\platform.h"> - <Filter>src\common</Filter> - </ClInclude> - <ClInclude Include="..\..\src\common\version.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\blocklayout.cpp"> - <Filter>src\common</Filter> - </ClCompile> - <ClCompile Include="..\..\src\common\angleutils.cpp"> - <Filter>src\common</Filter> - </ClCompile> - <ClInclude Include="..\..\src\third_party\systeminfo\SystemInfo.h"> - <Filter>src\third_party\systeminfo</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\third_party\systeminfo\SystemInfo.cpp"> - <Filter>src\third_party\systeminfo</Filter> + <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClCompile> - <ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h"> - <Filter>src\third_party\murmurhash</Filter> + <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> </ClInclude> - <ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp"> - <Filter>src\third_party\murmurhash</Filter> + <ClCompile Include="..\..\src\common\win32\NativeWindow.cpp"> + <Filter>src\common\win32</Filter> </ClCompile> - <ClInclude Include="..\..\include\angle_gl.h"> - <Filter>include</Filter> - </ClInclude> - <ClInclude Include="..\..\include\KHR\khrplatform.h"> - <Filter>include\KHR</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"> - <Filter>include\GLSLANG</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"> - <Filter>include\GLSLANG</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2ext.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2platform.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3ext.h"> - <Filter>include\GLES3</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3.h"> - <Filter>include\GLES3</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3platform.h"> - <Filter>include\GLES3</Filter> - </ClInclude> - <ClInclude Include="..\..\include\EGL\eglext.h"> - <Filter>include\EGL</Filter> - </ClInclude> - <ClInclude Include="..\..\include\EGL\egl.h"> - <Filter>include\EGL</Filter> - </ClInclude> - <ClInclude Include="..\..\include\EGL\eglplatform.h"> - <Filter>include\EGL</Filter> - </ClInclude> + <None Include="..\..\src\angle.gyp"> + <Filter>src</Filter> + </None> </ItemGroup> </Project> diff --git a/projects/src/libEGL.vcxproj b/projects/src/libEGL.vcxproj index 8e25de4f..4f8122b1 100644 --- a/projects/src/libEGL.vcxproj +++ b/projects/src/libEGL.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{FBAEE4F6-562A-588F-01F9-72DCABB3B061}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>libEGL</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,29 +51,31 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;ANGLE_ENABLE_PERF;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;ANGLE_ENABLE_PERF;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>d3d9.lib;kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -82,36 +85,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;ANGLE_ENABLE_PERF;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;ANGLE_ENABLE_PERF;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>d3d9.lib;kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -121,23 +129,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -145,12 +158,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>d3d9.lib;kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -160,35 +173,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>d3d9.lib;kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -198,58 +216,63 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> <None Include="..\..\src\libEGL\libEGL.def"/> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> <ItemGroup> - <ClInclude Include="..\..\src\libEGL\Surface.h"/> - <ClInclude Include="..\..\src\libEGL\resource.h"/> - <ClInclude Include="..\..\src\libEGL\Config.h"/> - <ClInclude Include="..\..\src\libEGL\main.h"/> - <ClInclude Include="..\..\src\libEGL\Display.h"/> + <ClInclude Include="..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\include\EGL\eglext.h"/> + <ClInclude Include="..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\include\GLES2\gl2.h"/> + <ClInclude Include="..\..\include\GLES2\gl2ext.h"/> + <ClInclude Include="..\..\include\GLES2\gl2platform.h"/> + <ClInclude Include="..\..\include\GLES3\gl3.h"/> + <ClInclude Include="..\..\include\GLES3\gl3ext.h"/> + <ClInclude Include="..\..\include\GLES3\gl3platform.h"/> + <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/> + <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"/> + <ClInclude Include="..\..\include\KHR\khrplatform.h"/> + <ClInclude Include="..\..\include\angle_gl.h"/> <ClInclude Include="..\..\src\common\RefCountObject.h"/> + <ClInclude Include="..\..\src\common\angleutils.h"/> <ClInclude Include="..\..\src\common\debug.h"/> - <ClInclude Include="..\..\src\common\mathutil.h"/> <ClInclude Include="..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\src\common\mathutil.h"/> <ClInclude Include="..\..\src\common\platform.h"/> - <ClInclude Include="..\..\src\common\version.h"/> - <ClInclude Include="..\..\src\common\utilities.h"/> + <ClInclude Include="..\..\src\common\NativeWindow.h"/> <ClInclude Include="..\..\src\common\tls.h"/> - <ClInclude Include="..\..\src\common\angleutils.h"/> - <ClInclude Include="..\..\include\angle_gl.h"/> - <ClInclude Include="..\..\include\KHR\khrplatform.h"/> - <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/> - <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"/> - <ClInclude Include="..\..\include\GLES2\gl2.h"/> - <ClInclude Include="..\..\include\GLES2\gl2platform.h"/> - <ClInclude Include="..\..\include\GLES2\gl2ext.h"/> - <ClInclude Include="..\..\include\GLES3\gl3ext.h"/> - <ClInclude Include="..\..\include\GLES3\gl3.h"/> - <ClInclude Include="..\..\include\GLES3\gl3platform.h"/> - <ClInclude Include="..\..\include\EGL\eglext.h"/> - <ClInclude Include="..\..\include\EGL\eglplatform.h"/> - <ClInclude Include="..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\src\common\utilities.h"/> + <ClInclude Include="..\..\src\common\version.h"/> + <ClInclude Include="..\..\src\libEGL\Config.h"/> + <ClInclude Include="..\..\src\libEGL\Display.h"/> + <ClInclude Include="..\..\src\libEGL\Surface.h"/> + <ClInclude Include="..\..\src\libEGL\main.h"/> + <ClInclude Include="..\..\src\libEGL\resource.h"/> </ItemGroup> <ItemGroup> - <ClCompile Include="..\..\src\libEGL\Surface.cpp"/> - <ClCompile Include="..\..\src\libEGL\Config.cpp"/> - <ClCompile Include="..\..\src\libEGL\main.cpp"/> - <ClCompile Include="..\..\src\libEGL\Display.cpp"/> - <ClCompile Include="..\..\src\libEGL\libEGL.cpp"/> - <ClCompile Include="..\..\src\common\mathutil.cpp"/> <ClCompile Include="..\..\src\common\RefCountObject.cpp"/> - <ClCompile Include="..\..\src\common\tls.cpp"/> + <ClCompile Include="..\..\src\common\angleutils.cpp"/> <ClCompile Include="..\..\src\common\debug.cpp"/> <ClCompile Include="..\..\src\common\event_tracer.cpp"/> + <ClCompile Include="..\..\src\common\mathutil.cpp"/> + <ClCompile Include="..\..\src\common\tls.cpp"/> <ClCompile Include="..\..\src\common\utilities.cpp"/> - <ClCompile Include="..\..\src\common\angleutils.cpp"/> + <ClCompile Include="..\..\src\libEGL\Config.cpp"/> + <ClCompile Include="..\..\src\libEGL\Display.cpp"/> + <ClCompile Include="..\..\src\libEGL\Surface.cpp"/> + <ClCompile Include="..\..\src\libEGL\libEGL.cpp"/> + <ClCompile Include="..\..\src\libEGL\main.cpp"/> + <ClCompile Include="..\..\src\common\win32\NativeWindow.cpp"/> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\..\src\libEGL\libEGL.rc"/> diff --git a/projects/src/libEGL.vcxproj.filters b/projects/src/libEGL.vcxproj.filters index feb9c0c9..99afb00d 100644 --- a/projects/src/libEGL.vcxproj.filters +++ b/projects/src/libEGL.vcxproj.filters @@ -1,108 +1,345 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <Filter Include="src"> - <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> </Filter> - <Filter Include="src\libEGL"> - <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> </Filter> - <Filter Include="src\common"> - <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> </Filter> <Filter Include="include"> <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> </Filter> - <Filter Include="include\KHR"> - <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> </Filter> - <Filter Include="include\GLSLANG"> - <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> </Filter> <Filter Include="include\GLES2"> <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> <Filter Include="include\GLES3"> <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> </Filter> - <Filter Include="include\EGL"> - <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\KHR"> + <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\win32"> + <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"> - <Filter>src</Filter> - </None> - <ClInclude Include="..\..\src\libEGL\Surface.h"> - <Filter>src\libEGL</Filter> + <ClInclude Include="..\..\include\EGL\egl.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ClCompile Include="..\..\src\libEGL\Surface.cpp"> - <Filter>src\libEGL</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libEGL\Config.cpp"> - <Filter>src\libEGL</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libEGL\resource.h"> - <Filter>src\libEGL</Filter> + <ClInclude Include="..\..\include\EGL\eglext.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ClCompile Include="..\..\src\libEGL\main.cpp"> - <Filter>src\libEGL</Filter> - </ClCompile> - <ClInclude Include="..\..\src\libEGL\Config.h"> - <Filter>src\libEGL</Filter> + <ClInclude Include="..\..\include\EGL\eglplatform.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ResourceCompile Include="..\..\src\libEGL\libEGL.rc"> - <Filter>src\libEGL</Filter> - </ResourceCompile> - <ClInclude Include="..\..\src\libEGL\main.h"> - <Filter>src\libEGL</Filter> + <ClInclude Include="..\..\include\GLES2\gl2.h"> + <Filter>include\GLES2</Filter> </ClInclude> - <ClInclude Include="..\..\src\libEGL\Display.h"> - <Filter>src\libEGL</Filter> + <ClInclude Include="..\..\include\GLES2\gl2ext.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES2\gl2platform.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3ext.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3platform.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\include\KHR\khrplatform.h"> + <Filter>include\KHR</Filter> + </ClInclude> + <ClInclude Include="..\..\include\angle_gl.h"> + <Filter>include</Filter> </ClInclude> - <ClCompile Include="..\..\src\libEGL\Display.cpp"> - <Filter>src\libEGL</Filter> - </ClCompile> - <ClCompile Include="..\..\src\libEGL\libEGL.cpp"> - <Filter>src\libEGL</Filter> - </ClCompile> - <None Include="..\..\src\libEGL\libEGL.def"> - <Filter>src\libEGL</Filter> - </None> - <ClCompile Include="..\..\src\common\mathutil.cpp"> - <Filter>src\common</Filter> - </ClCompile> <ClCompile Include="..\..\src\common\RefCountObject.cpp"> <Filter>src\common</Filter> </ClCompile> <ClInclude Include="..\..\src\common\RefCountObject.h"> <Filter>src\common</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\tls.cpp"> + <ClCompile Include="..\..\src\common\angleutils.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\debug.h"> + <ClInclude Include="..\..\src\common\angleutils.h"> <Filter>src\common</Filter> </ClInclude> <ClCompile Include="..\..\src\common\debug.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\mathutil.h"> + <ClInclude Include="..\..\src\common\debug.h"> <Filter>src\common</Filter> </ClInclude> + <ClCompile Include="..\..\src\common\event_tracer.cpp"> + <Filter>src\common</Filter> + </ClCompile> <ClInclude Include="..\..\src\common\event_tracer.h"> <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\platform.h"> + <ClCompile Include="..\..\src\common\mathutil.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\mathutil.h"> <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\version.h"> + <ClInclude Include="..\..\src\common\platform.h"> <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\utilities.h"> + <ClInclude Include="..\..\src\common\NativeWindow.h"> <Filter>src\common</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\event_tracer.cpp"> + <ClCompile Include="..\..\src\common\tls.cpp"> <Filter>src\common</Filter> </ClCompile> <ClInclude Include="..\..\src\common\tls.h"> @@ -111,50 +348,53 @@ <ClCompile Include="..\..\src\common\utilities.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\angleutils.h"> + <ClInclude Include="..\..\src\common\utilities.h"> <Filter>src\common</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\angleutils.cpp"> + <ClInclude Include="..\..\src\common\version.h"> <Filter>src\common</Filter> - </ClCompile> - <ClInclude Include="..\..\include\angle_gl.h"> - <Filter>include</Filter> - </ClInclude> - <ClInclude Include="..\..\include\KHR\khrplatform.h"> - <Filter>include\KHR</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"> - <Filter>include\GLSLANG</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"> - <Filter>include\GLSLANG</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2platform.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2ext.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3ext.h"> - <Filter>include\GLES3</Filter> </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3.h"> - <Filter>include\GLES3</Filter> + <ClCompile Include="..\..\src\libEGL\Config.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libEGL\Config.h"> + <Filter>src\libEGL</Filter> </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3platform.h"> - <Filter>include\GLES3</Filter> + <ClCompile Include="..\..\src\libEGL\Display.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libEGL\Display.h"> + <Filter>src\libEGL</Filter> </ClInclude> - <ClInclude Include="..\..\include\EGL\eglext.h"> - <Filter>include\EGL</Filter> + <ClCompile Include="..\..\src\libEGL\Surface.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libEGL\Surface.h"> + <Filter>src\libEGL</Filter> </ClInclude> - <ClInclude Include="..\..\include\EGL\eglplatform.h"> - <Filter>include\EGL</Filter> + <ClCompile Include="..\..\src\libEGL\libEGL.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <None Include="..\..\src\libEGL\libEGL.def"> + <Filter>src\libEGL</Filter> + </None> + <ResourceCompile Include="..\..\src\libEGL\libEGL.rc"> + <Filter>src\libEGL</Filter> + </ResourceCompile> + <ClCompile Include="..\..\src\libEGL\main.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\src\libEGL\main.h"> + <Filter>src\libEGL</Filter> </ClInclude> - <ClInclude Include="..\..\include\EGL\egl.h"> - <Filter>include\EGL</Filter> + <ClInclude Include="..\..\src\libEGL\resource.h"> + <Filter>src\libEGL</Filter> </ClInclude> + <ClCompile Include="..\..\src\common\win32\NativeWindow.cpp"> + <Filter>src\common\win32</Filter> + </ClCompile> + <None Include="..\..\src\angle.gyp"> + <Filter>src</Filter> + </None> </ItemGroup> </Project> diff --git a/projects/src/libGLESv2.vcxproj b/projects/src/libGLESv2.vcxproj index 2be234a5..095fd591 100644 --- a/projects/src/libGLESv2.vcxproj +++ b/projects/src/libGLESv2.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>libGLESv2</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,12 +70,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;d3d9.lib;dxguid.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -82,36 +85,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;d3d9.lib;dxguid.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -121,23 +129,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -145,12 +158,12 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;d3d9.lib;dxguid.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -160,35 +173,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;d3d9.lib;dxguid.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -198,15 +216,18 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> <None Include="..\..\src\libGLESv2\libGLESv2.def"/> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"/> diff --git a/projects/src/libGLESv2.vcxproj.filters b/projects/src/libGLESv2.vcxproj.filters index 67072219..27e7492c 100644 --- a/projects/src/libGLESv2.vcxproj.filters +++ b/projects/src/libGLESv2.vcxproj.filters @@ -4,17 +4,23 @@ <Filter Include="libGLESv2"> <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> </Filter> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> + <ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"> + <Filter>libGLESv2</Filter> + </ClCompile> <None Include="..\..\src\libGLESv2\libGLESv2.def"> <Filter>libGLESv2</Filter> </None> <ResourceCompile Include="..\..\src\libGLESv2\libGLESv2.rc"> <Filter>libGLESv2</Filter> </ResourceCompile> - <ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"> - <Filter>libGLESv2</Filter> - </ClCompile> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> </Project> diff --git a/projects/src/libGLESv2_static.vcxproj b/projects/src/libGLESv2_static.vcxproj index 811a3da5..38b321e8 100644 --- a/projects/src/libGLESv2_static.vcxproj +++ b/projects/src/libGLESv2_static.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{F8ABD31A-EC2F-A211-D514-076C763B69F9}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>libGLESv2_static</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,13 +70,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,23 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -143,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -157,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -194,10 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\src;..\..\include;..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/src/libGLESv2_static.vcxproj.filters b/projects/src/libGLESv2_static.vcxproj.filters index 69b1a1d7..43aa282e 100644 --- a/projects/src/libGLESv2_static.vcxproj.filters +++ b/projects/src/libGLESv2_static.vcxproj.filters @@ -4,14 +4,17 @@ <Filter Include="libGLESv2"> <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> </Filter> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> - <ResourceCompile Include="..\..\src\libGLESv2\libGLESv2.rc"> - <Filter>libGLESv2</Filter> - </ResourceCompile> <ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"> <Filter>libGLESv2</Filter> </ClCompile> + <ResourceCompile Include="..\..\src\libGLESv2\libGLESv2.rc"> + <Filter>libGLESv2</Filter> + </ResourceCompile> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> </Project> diff --git a/projects/src/preprocessor.vcxproj b/projects/src/preprocessor.vcxproj index fc818cfa..4878a5ab 100644 --- a/projects/src/preprocessor.vcxproj +++ b/projects/src/preprocessor.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{C7BAF548-697D-2DCB-9DF3-9D1506A7B444}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>preprocessor</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,13 +70,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,44 +212,48 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> <None Include="..\..\src\compiler\preprocessor\ExpressionParser.y"/> <None Include="..\..\src\compiler\preprocessor\Tokenizer.l"/> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> <ItemGroup> - <ClInclude Include="..\..\src\compiler\preprocessor\Tokenizer.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\Lexer.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\Token.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\Preprocessor.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\DiagnosticsBase.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveParser.h"/> <ClInclude Include="..\..\src\compiler\preprocessor\ExpressionParser.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\MacroExpander.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\Macro.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\pp_utils.h"/> <ClInclude Include="..\..\src\compiler\preprocessor\Input.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\Lexer.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\Macro.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\MacroExpander.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\Preprocessor.h"/> <ClInclude Include="..\..\src\compiler\preprocessor\SourceLocation.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\Token.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\Tokenizer.h"/> <ClInclude Include="..\..\src\compiler\preprocessor\numeric_lex.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveParser.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\DiagnosticsBase.h"/> - <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.h"/> + <ClInclude Include="..\..\src\compiler\preprocessor\pp_utils.h"/> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\src\compiler\preprocessor\DiagnosticsBase.cpp"/> + <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.cpp"/> + <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveParser.cpp"/> <ClCompile Include="..\..\src\compiler\preprocessor\ExpressionParser.cpp"/> <ClCompile Include="..\..\src\compiler\preprocessor\Input.cpp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\Tokenizer.cpp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.cpp"/> <ClCompile Include="..\..\src\compiler\preprocessor\Lexer.cpp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\Token.cpp"/> <ClCompile Include="..\..\src\compiler\preprocessor\Macro.cpp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\DiagnosticsBase.cpp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\Preprocessor.cpp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveParser.cpp"/> <ClCompile Include="..\..\src\compiler\preprocessor\MacroExpander.cpp"/> + <ClCompile Include="..\..\src\compiler\preprocessor\Preprocessor.cpp"/> + <ClCompile Include="..\..\src\compiler\preprocessor\Token.cpp"/> + <ClCompile Include="..\..\src\compiler\preprocessor\Tokenizer.cpp"/> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> <ImportGroup Label="ExtensionTargets"/> diff --git a/projects/src/preprocessor.vcxproj.filters b/projects/src/preprocessor.vcxproj.filters index f6132500..928ba28d 100644 --- a/projects/src/preprocessor.vcxproj.filters +++ b/projects/src/preprocessor.vcxproj.filters @@ -7,89 +7,245 @@ <Filter Include="compiler\preprocessor"> <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> - <ClCompile Include="..\..\src\compiler\preprocessor\ExpressionParser.cpp"> - <Filter>compiler\preprocessor</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\preprocessor\Input.cpp"> - <Filter>compiler\preprocessor</Filter> - </ClCompile> - <None Include="..\..\src\compiler\preprocessor\ExpressionParser.y"> - <Filter>compiler\preprocessor</Filter> - </None> - <ClCompile Include="..\..\src\compiler\preprocessor\Tokenizer.cpp"> + <ClCompile Include="..\..\src\compiler\preprocessor\DiagnosticsBase.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <None Include="..\..\src\compiler\preprocessor\Tokenizer.l"> - <Filter>compiler\preprocessor</Filter> - </None> - <ClInclude Include="..\..\src\compiler\preprocessor\Tokenizer.h"> - <Filter>compiler\preprocessor</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\preprocessor\Lexer.h"> + <ClInclude Include="..\..\src\compiler\preprocessor\DiagnosticsBase.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\preprocessor\Token.h"> + <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\preprocessor\Lexer.cpp"> + <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveParser.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\preprocessor\Preprocessor.h"> + <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveParser.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> + <ClCompile Include="..\..\src\compiler\preprocessor\ExpressionParser.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> <ClInclude Include="..\..\src\compiler\preprocessor\ExpressionParser.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\preprocessor\MacroExpander.h"> + <None Include="..\..\src\compiler\preprocessor\ExpressionParser.y"> <Filter>compiler\preprocessor</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\preprocessor\Macro.h"> + </None> + <ClCompile Include="..\..\src\compiler\preprocessor\Input.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\preprocessor\Input.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\preprocessor\Token.cpp"> + <ClCompile Include="..\..\src\compiler\preprocessor\Lexer.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> + <ClInclude Include="..\..\src\compiler\preprocessor\Lexer.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> <ClCompile Include="..\..\src\compiler\preprocessor\Macro.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\preprocessor\DiagnosticsBase.cpp"> + <ClInclude Include="..\..\src\compiler\preprocessor\Macro.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\preprocessor\MacroExpander.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\preprocessor\pp_utils.h"> + <ClInclude Include="..\..\src\compiler\preprocessor\MacroExpander.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> <ClCompile Include="..\..\src\compiler\preprocessor\Preprocessor.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\preprocessor\Input.h"> + <ClInclude Include="..\..\src\compiler\preprocessor\Preprocessor.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> <ClInclude Include="..\..\src\compiler\preprocessor\SourceLocation.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\preprocessor\numeric_lex.h"> + <ClCompile Include="..\..\src\compiler\preprocessor\Token.cpp"> <Filter>compiler\preprocessor</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveParser.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\preprocessor\Token.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\preprocessor\DirectiveParser.cpp"> + <ClCompile Include="..\..\src\compiler\preprocessor\Tokenizer.cpp"> <Filter>compiler\preprocessor</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\preprocessor\DiagnosticsBase.h"> + <ClInclude Include="..\..\src\compiler\preprocessor\Tokenizer.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\preprocessor\MacroExpander.cpp"> + <None Include="..\..\src\compiler\preprocessor\Tokenizer.l"> <Filter>compiler\preprocessor</Filter> - </ClCompile> - <ClInclude Include="..\..\src\compiler\preprocessor\DirectiveHandlerBase.h"> + </None> + <ClInclude Include="..\..\src\compiler\preprocessor\numeric_lex.h"> <Filter>compiler\preprocessor</Filter> </ClInclude> + <ClInclude Include="..\..\src\compiler\preprocessor\pp_utils.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> </Project> diff --git a/projects/src/translator.vcxproj b/projects/src/translator.vcxproj index 32582647..87a13970 100644 --- a/projects/src/translator.vcxproj +++ b/projects/src/translator.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{C15697F6-5057-016E-BD29-422971875679}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>translator</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,13 +70,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,23 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -143,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -157,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -194,10 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/src/translator.vcxproj.filters b/projects/src/translator.vcxproj.filters index acac9bab..c566a5d7 100644 --- a/projects/src/translator.vcxproj.filters +++ b/projects/src/translator.vcxproj.filters @@ -7,14 +7,20 @@ <Filter Include="compiler\translator"> <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> <ClCompile Include="..\..\src\compiler\translator\ShaderLang.cpp"> <Filter>compiler\translator</Filter> </ClCompile> <ClCompile Include="..\..\src\compiler\translator\ShaderVars.cpp"> <Filter>compiler\translator</Filter> </ClCompile> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> </Project> diff --git a/projects/src/translator_lib.vcxproj b/projects/src/translator_lib.vcxproj index 259d91a3..578b40b2 100644 --- a/projects/src/translator_lib.vcxproj +++ b/projects/src/translator_lib.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{276D20F5-2943-414C-0FF6-21F4723A5CF6}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>translator_lib</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,14 +70,14 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -82,38 +85,43 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -121,23 +129,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -145,14 +158,14 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -160,37 +173,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -198,173 +216,177 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> - <None Include="..\..\src\compiler\translator\glslang.y"/> <None Include="..\..\src\compiler\translator\glslang.l"/> + <None Include="..\..\src\compiler\translator\glslang.y"/> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> <ItemGroup> - <ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h"/> + <ClInclude Include="..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\include\EGL\eglext.h"/> + <ClInclude Include="..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\include\GLES2\gl2.h"/> + <ClInclude Include="..\..\include\GLES2\gl2ext.h"/> + <ClInclude Include="..\..\include\GLES2\gl2platform.h"/> + <ClInclude Include="..\..\include\GLES3\gl3.h"/> + <ClInclude Include="..\..\include\GLES3\gl3ext.h"/> + <ClInclude Include="..\..\include\GLES3\gl3platform.h"/> + <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/> + <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"/> + <ClInclude Include="..\..\include\KHR\khrplatform.h"/> + <ClInclude Include="..\..\include\angle_gl.h"/> <ClInclude Include="..\..\src\common\RefCountObject.h"/> - <ClInclude Include="..\..\src\common\tls.h"/> - <ClInclude Include="..\..\src\common\mathutil.h"/> - <ClInclude Include="..\..\src\common\event_tracer.h"/> - <ClInclude Include="..\..\src\common\debug.h"/> - <ClInclude Include="..\..\src\common\version.h"/> + <ClInclude Include="..\..\src\common\angleutils.h"/> <ClInclude Include="..\..\src\common\blocklayout.h"/> + <ClInclude Include="..\..\src\common\debug.h"/> + <ClInclude Include="..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\src\common\mathutil.h"/> <ClInclude Include="..\..\src\common\platform.h"/> + <ClInclude Include="..\..\src\common\tls.h"/> <ClInclude Include="..\..\src\common\utilities.h"/> - <ClInclude Include="..\..\src\common\angleutils.h"/> + <ClInclude Include="..\..\src\common\version.h"/> <ClInclude Include="..\..\src\compiler\translator\BaseTypes.h"/> - <ClInclude Include="..\..\src\compiler\translator\compilerdebug.h"/> - <ClInclude Include="..\..\src\compiler\translator\Common.h"/> - <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.h"/> - <ClInclude Include="..\..\src\compiler\translator\util.h"/> - <ClInclude Include="..\..\src\compiler\translator\OutputGLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\FlagStd140Structs.h"/> - <ClInclude Include="..\..\src\compiler\translator\length_limits.h"/> - <ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h"/> - <ClInclude Include="..\..\src\compiler\translator\OutputHLSL.h"/> <ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h"/> - <ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"/> - <ClInclude Include="..\..\src\compiler\translator\RenameFunction.h"/> - <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuit.h"/> - <ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"/> - <ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h"/> - <ClInclude Include="..\..\src\compiler\translator\Initialize.h"/> - <ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h"/> + <ClInclude Include="..\..\src\compiler\translator\Common.h"/> + <ClInclude Include="..\..\src\compiler\translator\Compiler.h"/> <ClInclude Include="..\..\src\compiler\translator\ConstantUnion.h"/> - <ClInclude Include="..\..\src\compiler\translator\ParseContext.h"/> + <ClInclude Include="..\..\src\compiler\translator\DetectCallDepth.h"/> + <ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"/> <ClInclude Include="..\..\src\compiler\translator\Diagnostics.h"/> - <ClInclude Include="..\..\src\compiler\translator\VersionGLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\HashNames.h"/> <ClInclude Include="..\..\src\compiler\translator\DirectiveHandler.h"/> - <ClInclude Include="..\..\src\compiler\translator\NodeSearch.h"/> - <ClInclude Include="..\..\src\compiler\translator\TranslatorESSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\ExtensionBehavior.h"/> + <ClInclude Include="..\..\src\compiler\translator\FlagStd140Structs.h"/> + <ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h"/> + <ClInclude Include="..\..\src\compiler\translator\HashNames.h"/> + <ClInclude Include="..\..\src\compiler\translator\InfoSink.h"/> + <ClInclude Include="..\..\src\compiler\translator\Initialize.h"/> <ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"/> - <ClInclude Include="..\..\src\compiler\translator\IntermNode.h"/> - <ClInclude Include="..\..\src\compiler\translator\ValidateOutputs.h"/> - <ClInclude Include="..\..\src\compiler\translator\Intermediate.h"/> + <ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h"/> + <ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h"/> <ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h"/> + <ClInclude Include="..\..\src\compiler\translator\Intermediate.h"/> + <ClInclude Include="..\..\src\compiler\translator\IntermNode.h"/> + <ClInclude Include="..\..\src\compiler\translator\LoopInfo.h"/> + <ClInclude Include="..\..\src\compiler\translator\MMap.h"/> + <ClInclude Include="..\..\src\compiler\translator\NodeSearch.h"/> + <ClInclude Include="..\..\src\compiler\translator\OutputESSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\OutputGLSL.h"/> <ClInclude Include="..\..\src\compiler\translator\OutputGLSLBase.h"/> - <ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h"/> + <ClInclude Include="..\..\src\compiler\translator\OutputHLSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\ParseContext.h"/> + <ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h"/> <ClInclude Include="..\..\src\compiler\translator\Pragma.h"/> - <ClInclude Include="..\..\src\compiler\translator\Compiler.h"/> - <ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\OutputESSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\StructureHLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\ValidateLimitations.h"/> - <ClInclude Include="..\..\src\compiler\translator\Types.h"/> - <ClInclude Include="..\..\src\compiler\translator\MMap.h"/> + <ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h"/> + <ClInclude Include="..\..\src\compiler\translator\RegenerateStructNames.h"/> <ClInclude Include="..\..\src\compiler\translator\RemoveTree.h"/> - <ClInclude Include="..\..\src\compiler\translator\DetectCallDepth.h"/> - <ClInclude Include="..\..\src\compiler\translator\InfoSink.h"/> - <ClInclude Include="..\..\src\compiler\translator\VariablePacker.h"/> - <ClInclude Include="..\..\src\compiler\translator\glslang.h"/> + <ClInclude Include="..\..\src\compiler\translator\RenameFunction.h"/> + <ClInclude Include="..\..\src\compiler\translator\RewriteElseBlocks.h"/> + <ClInclude Include="..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.h"/> <ClInclude Include="..\..\src\compiler\translator\SearchSymbol.h"/> + <ClInclude Include="..\..\src\compiler\translator\StructureHLSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"/> + <ClInclude Include="..\..\src\compiler\translator\TranslatorESSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\Types.h"/> + <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuit.h"/> + <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.h"/> + <ClInclude Include="..\..\src\compiler\translator\UniformHLSL.h"/> <ClInclude Include="..\..\src\compiler\translator\UtilsHLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.h"/> - <ClInclude Include="..\..\src\compiler\translator\intermediate.h"/> - <ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h"/> + <ClInclude Include="..\..\src\compiler\translator\ValidateLimitations.h"/> + <ClInclude Include="..\..\src\compiler\translator\ValidateOutputs.h"/> <ClInclude Include="..\..\src\compiler\translator\VariableInfo.h"/> - <ClInclude Include="..\..\src\compiler\translator\LoopInfo.h"/> - <ClInclude Include="..\..\src\compiler\translator\UniformHLSL.h"/> - <ClInclude Include="..\..\src\compiler\translator\RegenerateStructNames.h"/> - <ClInclude Include="..\..\src\compiler\translator\glslang_tab.h"/> - <ClInclude Include="..\..\src\compiler\translator\RewriteElseBlocks.h"/> - <ClInclude Include="..\..\src\compiler\translator\ExtensionBehavior.h"/> - <ClInclude Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.h"/> - <ClInclude Include="..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h"/> + <ClInclude Include="..\..\src\compiler\translator\VariablePacker.h"/> + <ClInclude Include="..\..\src\compiler\translator\VersionGLSL.h"/> + <ClInclude Include="..\..\src\compiler\translator\compilerdebug.h"/> <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraph.h"/> - <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.h"/> <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.h"/> - <ClInclude Include="..\..\include\angle_gl.h"/> - <ClInclude Include="..\..\include\KHR\khrplatform.h"/> - <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/> - <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"/> - <ClInclude Include="..\..\include\GLES2\gl2platform.h"/> - <ClInclude Include="..\..\include\GLES2\gl2ext.h"/> - <ClInclude Include="..\..\include\GLES2\gl2.h"/> - <ClInclude Include="..\..\include\GLES3\gl3ext.h"/> - <ClInclude Include="..\..\include\GLES3\gl3.h"/> - <ClInclude Include="..\..\include\GLES3\gl3platform.h"/> - <ClInclude Include="..\..\include\EGL\eglext.h"/> - <ClInclude Include="..\..\include\EGL\egl.h"/> - <ClInclude Include="..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.h"/> + <ClInclude Include="..\..\src\compiler\translator\glslang.h"/> + <ClInclude Include="..\..\src\compiler\translator\glslang_tab.h"/> + <ClInclude Include="..\..\src\compiler\translator\intermediate.h"/> + <ClInclude Include="..\..\src\compiler\translator\length_limits.h"/> + <ClInclude Include="..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h"/> + <ClInclude Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.h"/> + <ClInclude Include="..\..\src\compiler\translator\util.h"/> + <ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h"/> </ItemGroup> <ItemGroup> - <ClCompile Include="..\..\src\third_party\compiler\ArrayBoundsClamper.cpp"/> + <ClCompile Include="..\..\src\common\RefCountObject.cpp"/> + <ClCompile Include="..\..\src\common\angleutils.cpp"/> + <ClCompile Include="..\..\src\common\blocklayout.cpp"/> + <ClCompile Include="..\..\src\common\debug.cpp"/> <ClCompile Include="..\..\src\common\event_tracer.cpp"/> + <ClCompile Include="..\..\src\common\mathutil.cpp"/> <ClCompile Include="..\..\src\common\tls.cpp"/> <ClCompile Include="..\..\src\common\utilities.cpp"/> - <ClCompile Include="..\..\src\common\RefCountObject.cpp"/> - <ClCompile Include="..\..\src\common\mathutil.cpp"/> - <ClCompile Include="..\..\src\common\debug.cpp"/> - <ClCompile Include="..\..\src\common\blocklayout.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\CodeGen.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\Compiler.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\DetectCallDepth.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\DetectDiscontinuity.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\Diagnostics.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\FlagStd140Structs.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\ForLoopUnroll.cpp"/> <ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\Initialize.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\InitializeParseContext.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\InitializeVariables.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\IntermTraverse.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\Intermediate.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\IntermNode.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\LoopInfo.cpp"/> <ClCompile Include="..\..\src\compiler\translator\OutputESSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\ValidateLimitations.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\glslang_lex.cpp"/> <ClCompile Include="..\..\src\compiler\translator\OutputGLSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\TranslatorHLSL.cpp"/> <ClCompile Include="..\..\src\compiler\translator\OutputGLSLBase.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\OutputHLSL.cpp"/> <ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\Types.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\RemoveTree.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\InitializeVariables.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp"/> <ClCompile Include="..\..\src\compiler\translator\PoolAlloc.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\RewriteElseBlocks.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\Diagnostics.cpp"/> <ClCompile Include="..\..\src\compiler\translator\QualifierAlive.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\util.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\ValidateOutputs.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp"/> <ClCompile Include="..\..\src\compiler\translator\RegenerateStructNames.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\VariablePacker.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\RemoveTree.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\RewriteElseBlocks.cpp"/> <ClCompile Include="..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\parseConst.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\VersionGLSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\DetectCallDepth.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\InitializeParseContext.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\CodeGen.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\Intermediate.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\IntermTraverse.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\IntermNode.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\intermOut.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\glslang_tab.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\ForLoopUnroll.cpp"/> <ClCompile Include="..\..\src\compiler\translator\SearchSymbol.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\UtilsHLSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\TranslatorGLSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\SymbolTable.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\FlagStd140Structs.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\LoopInfo.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\OutputHLSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\DetectDiscontinuity.cpp"/> <ClCompile Include="..\..\src\compiler\translator\StructureHLSL.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\SymbolTable.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\TranslatorGLSL.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\TranslatorHLSL.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\Types.cpp"/> <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuit.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"/> <ClCompile Include="..\..\src\compiler\translator\UniformHLSL.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\compilerdebug.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\UtilsHLSL.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\ValidateLimitations.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\ValidateOutputs.cpp"/> <ClCompile Include="..\..\src\compiler\translator\VariableInfo.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\Compiler.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\Initialize.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp"/> - <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\VariablePacker.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\VersionGLSL.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\compilerdebug.cpp"/> <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraph.cpp"/> <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\glslang_lex.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\glslang_tab.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\intermOut.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\parseConst.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp"/> + <ClCompile Include="..\..\src\compiler\translator\util.cpp"/> + <ClCompile Include="..\..\src\third_party\compiler\ArrayBoundsClamper.cpp"/> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> <ImportGroup Label="ExtensionTargets"/> diff --git a/projects/src/translator_lib.vcxproj.filters b/projects/src/translator_lib.vcxproj.filters index 0a859577..e6e91c4e 100644 --- a/projects/src/translator_lib.vcxproj.filters +++ b/projects/src/translator_lib.vcxproj.filters @@ -1,517 +1,1822 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\KHR"> + <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> <Filter Include="src"> <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> - <Filter Include="src\third_party"> - <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> </Filter> - <Filter Include="src\third_party\compiler"> - <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> <Filter Include="src\common"> <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> <Filter Include="src\compiler"> <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> </Filter> <Filter Include="src\compiler\translator"> <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> </Filter> - <Filter Include="src\compiler\translator\timing"> - <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> </Filter> <Filter Include="src\compiler\translator\depgraph"> <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> </Filter> - <Filter Include="include"> - <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> - <Filter Include="include\KHR"> - <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> </Filter> - <Filter Include="include\GLSLANG"> - <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> </Filter> - <Filter Include="include\GLES2"> - <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> </Filter> - <Filter Include="include\GLES3"> - <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> - <Filter Include="include\EGL"> - <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"> - <Filter>src</Filter> - </None> - <ClCompile Include="..\..\src\third_party\compiler\ArrayBoundsClamper.cpp"> - <Filter>src\third_party\compiler</Filter> - </ClCompile> - <ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h"> - <Filter>src\third_party\compiler</Filter> + <ClInclude Include="..\..\include\EGL\egl.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\RefCountObject.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\include\EGL\eglext.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\tls.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\include\EGL\eglplatform.h"> + <Filter>include\EGL</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\mathutil.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\include\GLES2\gl2.h"> + <Filter>include\GLES2</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\event_tracer.h"> - <Filter>src\common</Filter> + <ClInclude Include="..\..\include\GLES2\gl2ext.h"> + <Filter>include\GLES2</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\event_tracer.cpp"> + <ClInclude Include="..\..\include\GLES2\gl2platform.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3ext.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLES3\gl3platform.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\include\KHR\khrplatform.h"> + <Filter>include\KHR</Filter> + </ClInclude> + <ClInclude Include="..\..\include\angle_gl.h"> + <Filter>include</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\RefCountObject.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\common\tls.cpp"> + <ClInclude Include="..\..\src\common\RefCountObject.h"> <Filter>src\common</Filter> - </ClCompile> - <ClCompile Include="..\..\src\common\utilities.cpp"> + </ClInclude> + <ClInclude Include="..\..\src\common\angleutils.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\angleutils.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\common\RefCountObject.cpp"> + <ClCompile Include="..\..\src\common\blocklayout.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClCompile Include="..\..\src\common\mathutil.cpp"> + <ClInclude Include="..\..\src\common\blocklayout.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\src\common\debug.cpp"> <Filter>src\common</Filter> </ClCompile> <ClInclude Include="..\..\src\common\debug.h"> <Filter>src\common</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\debug.cpp"> + <ClCompile Include="..\..\src\common\event_tracer.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\version.h"> + <ClInclude Include="..\..\src\common\event_tracer.h"> <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\blocklayout.h"> + <ClCompile Include="..\..\src\common\mathutil.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\mathutil.h"> <Filter>src\common</Filter> </ClInclude> <ClInclude Include="..\..\src\common\platform.h"> <Filter>src\common</Filter> </ClInclude> - <ClInclude Include="..\..\src\common\utilities.h"> + <ClCompile Include="..\..\src\common\tls.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\src\common\tls.h"> <Filter>src\common</Filter> </ClInclude> - <ClCompile Include="..\..\src\common\blocklayout.cpp"> + <ClCompile Include="..\..\src\common\utilities.cpp"> <Filter>src\common</Filter> </ClCompile> - <ClInclude Include="..\..\src\common\angleutils.h"> + <ClInclude Include="..\..\src\common\utilities.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\src\common\version.h"> <Filter>src\common</Filter> </ClInclude> <ClInclude Include="..\..\src\compiler\translator\BaseTypes.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp"> - <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\OutputESSL.cpp"> + <ClCompile Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\compilerdebug.h"> + <ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\Common.h"> + <ClCompile Include="..\..\src\compiler\translator\CodeGen.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\Common.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\ValidateLimitations.cpp"> + <ClCompile Include="..\..\src\compiler\translator\Compiler.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\util.h"> + <ClInclude Include="..\..\src\compiler\translator\Compiler.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\OutputGLSL.h"> + <ClInclude Include="..\..\src\compiler\translator\ConstantUnion.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.cpp"> + <ClCompile Include="..\..\src\compiler\translator\DetectCallDepth.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\glslang_lex.cpp"> + <ClInclude Include="..\..\src\compiler\translator\DetectCallDepth.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\OutputGLSL.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\DetectDiscontinuity.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\FlagStd140Structs.h"> - <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\length_limits.h"> + <ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\TranslatorHLSL.cpp"> - <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\OutputGLSLBase.cpp"> + <ClCompile Include="..\..\src\compiler\translator\Diagnostics.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h"> + <ClInclude Include="..\..\src\compiler\translator\Diagnostics.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\OutputHLSL.h"> + <ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\DirectiveHandler.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"> + <ClInclude Include="..\..\src\compiler\translator\ExtensionBehavior.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp"> + <ClCompile Include="..\..\src\compiler\translator\FlagStd140Structs.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\RenameFunction.h"> + <ClInclude Include="..\..\src\compiler\translator\FlagStd140Structs.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\Types.cpp"> + <ClCompile Include="..\..\src\compiler\translator\ForLoopUnroll.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\RemoveTree.cpp"> + <ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\InitializeVariables.cpp"> + </ClInclude> + <ClInclude Include="..\..\src\compiler\translator\HashNames.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuit.h"> + <ClInclude Include="..\..\src\compiler\translator\InfoSink.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h"> + <ClCompile Include="..\..\src\compiler\translator\Initialize.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\Initialize.h"> <Filter>src\compiler\translator</Filter> </ClInclude> <ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\PoolAlloc.cpp"> + <ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> + </ClInclude> <ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\Initialize.h"> + <ClCompile Include="..\..\src\compiler\translator\InitializeParseContext.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\ConstantUnion.h"> + <ClCompile Include="..\..\src\compiler\translator\InitializeVariables.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\RewriteElseBlocks.cpp"> + <ClCompile Include="..\..\src\compiler\translator\IntermTraverse.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\Diagnostics.cpp"> + <ClInclude Include="..\..\src\compiler\translator\Intermediate.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\Intermediate.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\ParseContext.h"> + <ClInclude Include="..\..\src\compiler\translator\IntermNode.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\QualifierAlive.cpp"> + <ClCompile Include="..\..\src\compiler\translator\IntermNode.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\Diagnostics.h"> + <ClCompile Include="..\..\src\compiler\translator\LoopInfo.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\LoopInfo.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\VersionGLSL.h"> + <ClInclude Include="..\..\src\compiler\translator\MMap.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\HashNames.h"> + <ClInclude Include="..\..\src\compiler\translator\NodeSearch.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\util.cpp"> + <ClCompile Include="..\..\src\compiler\translator\OutputESSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\DirectiveHandler.h"> + <ClInclude Include="..\..\src\compiler\translator\OutputESSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\ValidateOutputs.cpp"> + <ClCompile Include="..\..\src\compiler\translator\OutputGLSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\NodeSearch.h"> + <ClInclude Include="..\..\src\compiler\translator\OutputGLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\TranslatorESSL.h"> + <ClCompile Include="..\..\src\compiler\translator\OutputGLSLBase.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\OutputGLSLBase.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp"> + <ClCompile Include="..\..\src\compiler\translator\OutputHLSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"> + <ClInclude Include="..\..\src\compiler\translator\OutputHLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\IntermNode.h"> + <ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\ParseContext.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\ValidateOutputs.h"> + <ClCompile Include="..\..\src\compiler\translator\PoolAlloc.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\Intermediate.h"> + <ClInclude Include="..\..\src\compiler\translator\Pragma.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h"> + <ClCompile Include="..\..\src\compiler\translator\QualifierAlive.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h"> <Filter>src\compiler\translator</Filter> </ClInclude> <ClCompile Include="..\..\src\compiler\translator\RegenerateStructNames.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\OutputGLSLBase.h"> + <ClInclude Include="..\..\src\compiler\translator\RegenerateStructNames.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h"> + <ClCompile Include="..\..\src\compiler\translator\RemoveTree.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\Pragma.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\RemoveTree.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\Compiler.h"> + <ClInclude Include="..\..\src\compiler\translator\RenameFunction.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\VariablePacker.cpp"> + <ClCompile Include="..\..\src\compiler\translator\RewriteElseBlocks.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\RewriteElseBlocks.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> <ClCompile Include="..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h"> + <ClInclude Include="..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"> + <ClCompile Include="..\..\src\compiler\translator\SearchSymbol.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\OutputESSL.h"> + <ClInclude Include="..\..\src\compiler\translator\SearchSymbol.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\parseConst.cpp"> + <ClCompile Include="..\..\src\compiler\translator\StructureHLSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> <ClInclude Include="..\..\src\compiler\translator\StructureHLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\ValidateLimitations.h"> + <ClCompile Include="..\..\src\compiler\translator\SymbolTable.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\Types.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\MMap.h"> + <ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\RemoveTree.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\TranslatorESSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <None Include="..\..\src\compiler\translator\glslang.y"> - <Filter>src\compiler\translator</Filter> - </None> - <ClCompile Include="..\..\src\compiler\translator\VersionGLSL.cpp"> + <ClCompile Include="..\..\src\compiler\translator\TranslatorGLSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\DetectCallDepth.h"> - <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\InfoSink.h"> + <ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\VariablePacker.h"> + <ClCompile Include="..\..\src\compiler\translator\TranslatorHLSL.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\glslang.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\DetectCallDepth.cpp"> + <ClCompile Include="..\..\src\compiler\translator\Types.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\InitializeParseContext.cpp"> + <ClInclude Include="..\..\src\compiler\translator\Types.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuit.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\SearchSymbol.h"> + <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuit.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\CodeGen.cpp"> + <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\Intermediate.cpp"> + <ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\IntermTraverse.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\UniformHLSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\IntermNode.cpp"> + <ClInclude Include="..\..\src\compiler\translator\UniformHLSL.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <None Include="..\..\src\compiler\translator\glslang.l"> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\UtilsHLSL.cpp"> <Filter>src\compiler\translator</Filter> - </None> + </ClCompile> <ClInclude Include="..\..\src\compiler\translator\UtilsHLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\intermOut.cpp"> + <ClCompile Include="..\..\src\compiler\translator\ValidateLimitations.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\glslang_tab.cpp"> + <ClInclude Include="..\..\src\compiler\translator\ValidateLimitations.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\ForLoopUnroll.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\ValidateOutputs.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\SearchSymbol.cpp"> + <ClInclude Include="..\..\src\compiler\translator\ValidateOutputs.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\VariableInfo.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\UtilsHLSL.cpp"> + <ClInclude Include="..\..\src\compiler\translator\VariableInfo.h"> <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\TranslatorGLSL.cpp"> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\VariablePacker.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\SymbolTable.cpp"> + <ClInclude Include="..\..\src\compiler\translator\VariablePacker.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\VersionGLSL.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.h"> + <ClInclude Include="..\..\src\compiler\translator\VersionGLSL.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\intermediate.h"> + <ClCompile Include="..\..\src\compiler\translator\compilerdebug.cpp"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h"> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\compilerdebug.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\VariableInfo.h"> - <Filter>src\compiler\translator</Filter> + <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraph.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraph.h"> + <Filter>src\compiler\translator\depgraph</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\FlagStd140Structs.cpp"> - <Filter>src\compiler\translator</Filter> + <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\LoopInfo.cpp"> - <Filter>src\compiler\translator</Filter> + <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.h"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\OutputHLSL.cpp"> - <Filter>src\compiler\translator</Filter> + <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.h"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClInclude> + <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\LoopInfo.h"> + <ClInclude Include="..\..\src\compiler\translator\glslang.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\UniformHLSL.h"> + <None Include="..\..\src\compiler\translator\glslang.l"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\RegenerateStructNames.h"> + </None> + <None Include="..\..\src\compiler\translator\glslang.y"> <Filter>src\compiler\translator</Filter> - </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\DetectDiscontinuity.cpp"> + </None> + <ClCompile Include="..\..\src\compiler\translator\glslang_lex.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\StructureHLSL.cpp"> + <ClCompile Include="..\..\src\compiler\translator\glslang_tab.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> <ClInclude Include="..\..\src\compiler\translator\glslang_tab.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuit.cpp"> + <ClCompile Include="..\..\src\compiler\translator\intermOut.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\RewriteElseBlocks.h"> + <ClInclude Include="..\..\src\compiler\translator\intermediate.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\UniformHLSL.cpp"> - <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\compilerdebug.cpp"> - <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\ExtensionBehavior.h"> + <ClInclude Include="..\..\src\compiler\translator\length_limits.h"> <Filter>src\compiler\translator</Filter> </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\VariableInfo.cpp"> - <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\Compiler.cpp"> - <Filter>src\compiler\translator</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\Initialize.cpp"> + <ClCompile Include="..\..\src\compiler\translator\parseConst.cpp"> <Filter>src\compiler\translator</Filter> </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp"> - <Filter>src\compiler\translator\timing</Filter> - </ClCompile> <ClCompile Include="..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp"> <Filter>src\compiler\translator\timing</Filter> </ClCompile> - <ClInclude Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.h"> - <Filter>src\compiler\translator\timing</Filter> - </ClInclude> <ClInclude Include="..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h"> <Filter>src\compiler\translator\timing</Filter> </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraph.h"> - <Filter>src\compiler\translator\depgraph</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.h"> - <Filter>src\compiler\translator\depgraph</Filter> - </ClInclude> - <ClInclude Include="..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.h"> - <Filter>src\compiler\translator\depgraph</Filter> - </ClInclude> - <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp"> - <Filter>src\compiler\translator\depgraph</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp"> - <Filter>src\compiler\translator\depgraph</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraph.cpp"> - <Filter>src\compiler\translator\depgraph</Filter> - </ClCompile> - <ClCompile Include="..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp"> - <Filter>src\compiler\translator\depgraph</Filter> + <ClCompile Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp"> + <Filter>src\compiler\translator\timing</Filter> </ClCompile> - <ClInclude Include="..\..\include\angle_gl.h"> - <Filter>include</Filter> - </ClInclude> - <ClInclude Include="..\..\include\KHR\khrplatform.h"> - <Filter>include\KHR</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"> - <Filter>include\GLSLANG</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLSLANG\ShaderVars.h"> - <Filter>include\GLSLANG</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2platform.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2ext.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES2\gl2.h"> - <Filter>include\GLES2</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3ext.h"> - <Filter>include\GLES3</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3.h"> - <Filter>include\GLES3</Filter> - </ClInclude> - <ClInclude Include="..\..\include\GLES3\gl3platform.h"> - <Filter>include\GLES3</Filter> - </ClInclude> - <ClInclude Include="..\..\include\EGL\eglext.h"> - <Filter>include\EGL</Filter> + <ClInclude Include="..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.h"> + <Filter>src\compiler\translator\timing</Filter> </ClInclude> - <ClInclude Include="..\..\include\EGL\egl.h"> - <Filter>include\EGL</Filter> + <ClCompile Include="..\..\src\compiler\translator\util.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\src\compiler\translator\util.h"> + <Filter>src\compiler\translator</Filter> </ClInclude> - <ClInclude Include="..\..\include\EGL\eglplatform.h"> - <Filter>include\EGL</Filter> + <ClCompile Include="..\..\src\third_party\compiler\ArrayBoundsClamper.cpp"> + <Filter>src\third_party\compiler</Filter> + </ClCompile> + <ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h"> + <Filter>src\third_party\compiler</Filter> </ClInclude> + <None Include="..\..\src\angle.gyp"> + <Filter>src</Filter> + </None> </ItemGroup> </Project> diff --git a/projects/src/translator_static.vcxproj b/projects/src/translator_static.vcxproj index c7232253..9df7a1f1 100644 --- a/projects/src/translator_static.vcxproj +++ b/projects/src/translator_static.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{19386E01-D811-FA3B-9F1E-122BB0C0E9F5}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>translator_static</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,13 +70,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,23 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -143,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -157,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -194,10 +212,13 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\src;..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> - <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> diff --git a/projects/src/translator_static.vcxproj.filters b/projects/src/translator_static.vcxproj.filters index acac9bab..c566a5d7 100644 --- a/projects/src/translator_static.vcxproj.filters +++ b/projects/src/translator_static.vcxproj.filters @@ -7,14 +7,20 @@ <Filter Include="compiler\translator"> <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <None Include="..\..\src\angle.gyp"/> <ClCompile Include="..\..\src\compiler\translator\ShaderLang.cpp"> <Filter>compiler\translator</Filter> </ClCompile> <ClCompile Include="..\..\src\compiler\translator\ShaderVars.cpp"> <Filter>compiler\translator</Filter> </ClCompile> + <None Include="..\..\src\angle.gyp"/> </ItemGroup> </Project> diff --git a/projects/util/angle_util.vcxproj b/projects/util/angle_util.vcxproj index 38e9ade8..6577834f 100644 --- a/projects/util/angle_util.vcxproj +++ b/projects/util/angle_util.vcxproj @@ -22,6 +22,7 @@ <ProjectGuid>{E4DD691C-228B-A904-A008-10E26DC0F09E}</ProjectGuid> <Keyword>Win32Proj</Keyword> <RootNamespace>angle_util</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> <PropertyGroup Label="Configuration"> @@ -50,16 +51,18 @@ </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -67,13 +70,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -81,37 +84,42 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>true</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -119,22 +127,28 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> @@ -142,13 +156,13 @@ <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> <TargetMachine>MachineX86</TargetMachine> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -156,36 +170,41 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX86</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> - <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <DisableSpecificWarnings>4201;4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> <ExceptionHandling>false</ExceptionHandling> <FunctionLevelLinking>true</FunctionLevelLinking> <MinimalRebuild>false</MinimalRebuild> <Optimization>MaxSpeed</Optimization> - <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeTypeInfo>true</RuntimeTypeInfo> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> </ClCompile> <Lib> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> </Lib> <Link> <AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies> - <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <FixedBaseAddress>false</FixedBaseAddress> <GenerateDebugInformation>false</GenerateDebugInformation> <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> @@ -193,34 +212,40 @@ <SubSystem>Console</SubSystem> <TargetMachine>MachineX64</TargetMachine> </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> <ResourceCompile> - <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\..\include;..\..\util;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> <None Include="..\..\util\util.gyp"/> </ItemGroup> <ItemGroup> + <ClInclude Include="..\..\util\keyboard.h"/> <ClInclude Include="..\..\util\mouse.h"/> - <ClInclude Include="..\..\util\shared_utils.h"/> - <ClInclude Include="..\..\util\Timer.h"/> - <ClInclude Include="..\..\util\EGLWindow.h"/> <ClInclude Include="..\..\util\path_utils.h"/> + <ClInclude Include="..\..\util\random_utils.h"/> <ClInclude Include="..\..\util\shader_utils.h"/> - <ClInclude Include="..\..\util\OSWindow.h"/> - <ClInclude Include="..\..\util\keyboard.h"/> + <ClInclude Include="..\..\util\shared_utils.h"/> + <ClInclude Include="..\..\util\EGLWindow.h"/> <ClInclude Include="..\..\util\Event.h"/> - <ClInclude Include="..\..\util\win32\Win32Window.h"/> + <ClInclude Include="..\..\util\OSWindow.h"/> + <ClInclude Include="..\..\util\Timer.h"/> <ClInclude Include="..\..\util\win32\Win32Timer.h"/> + <ClInclude Include="..\..\util\win32\Win32Window.h"/> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\util\random_utils.cpp"/> <ClCompile Include="..\..\util\shader_utils.cpp"/> - <ClCompile Include="..\..\util\OSWindow.cpp"/> <ClCompile Include="..\..\util\EGLWindow.cpp"/> + <ClCompile Include="..\..\util\OSWindow.cpp"/> <ClCompile Include="..\..\util\win32\Win32_path_utils.cpp"/> - <ClCompile Include="..\..\util\win32\Win32Window.cpp"/> <ClCompile Include="..\..\util\win32\Win32Timer.cpp"/> + <ClCompile Include="..\..\util\win32\Win32Window.cpp"/> </ItemGroup> <ItemGroup> <ProjectReference Include="..\src\libEGL.vcxproj"> diff --git a/projects/util/angle_util.vcxproj.filters b/projects/util/angle_util.vcxproj.filters index f32e6dee..1550b929 100644 --- a/projects/util/angle_util.vcxproj.filters +++ b/projects/util/angle_util.vcxproj.filters @@ -4,35 +4,49 @@ <Filter Include="win32"> <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> </Filter> + <Filter Include="win32"> + <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> + </Filter> + <Filter Include="win32"> + <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> + </Filter> + <Filter Include="win32"> + <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> + </Filter> + <Filter Include="win32"> + <UniqueIdentifier>{789FEF16-EFE7-512E-F91B-DF7E0D72FB79}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> + <ClInclude Include="..\..\util\keyboard.h"/> <ClInclude Include="..\..\util\mouse.h"/> - <ClInclude Include="..\..\util\shared_utils.h"/> - <ClInclude Include="..\..\util\Timer.h"/> - <ClInclude Include="..\..\util\EGLWindow.h"/> <ClInclude Include="..\..\util\path_utils.h"/> - <None Include="..\..\util\util.gyp"/> - <ClInclude Include="..\..\util\shader_utils.h"/> + <ClCompile Include="..\..\util\random_utils.cpp"/> + <ClInclude Include="..\..\util\random_utils.h"/> <ClCompile Include="..\..\util\shader_utils.cpp"/> - <ClInclude Include="..\..\util\OSWindow.h"/> - <ClCompile Include="..\..\util\OSWindow.cpp"/> - <ClInclude Include="..\..\util\keyboard.h"/> + <ClInclude Include="..\..\util\shader_utils.h"/> + <ClInclude Include="..\..\util\shared_utils.h"/> <ClCompile Include="..\..\util\EGLWindow.cpp"/> + <ClInclude Include="..\..\util\EGLWindow.h"/> <ClInclude Include="..\..\util\Event.h"/> + <ClCompile Include="..\..\util\OSWindow.cpp"/> + <ClInclude Include="..\..\util\OSWindow.h"/> + <ClInclude Include="..\..\util\Timer.h"/> <ClCompile Include="..\..\util\win32\Win32_path_utils.cpp"> <Filter>win32</Filter> </ClCompile> - <ClCompile Include="..\..\util\win32\Win32Window.cpp"> - <Filter>win32</Filter> - </ClCompile> <ClCompile Include="..\..\util\win32\Win32Timer.cpp"> <Filter>win32</Filter> </ClCompile> - <ClInclude Include="..\..\util\win32\Win32Window.h"> + <ClInclude Include="..\..\util\win32\Win32Timer.h"> <Filter>win32</Filter> </ClInclude> - <ClInclude Include="..\..\util\win32\Win32Timer.h"> + <ClCompile Include="..\..\util\win32\Win32Window.cpp"> + <Filter>win32</Filter> + </ClCompile> + <ClInclude Include="..\..\util\win32\Win32Window.h"> <Filter>win32</Filter> </ClInclude> + <None Include="..\..\util\util.gyp"/> </ItemGroup> </Project> diff --git a/projects/winrt/windows/build/All.vcxproj b/projects/winrt/windows/build/All.vcxproj new file mode 100644 index 00000000..a82c8963 --- /dev/null +++ b/projects/winrt/windows/build/All.vcxproj @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{F5DC05F7-7299-1CDF-0BF0-C4794B899255}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>All</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <CharacterSet>MultiByte</CharacterSet> + <ConfigurationType>Utility</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\build\all.gyp"/> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\src\copy_scripts.vcxproj"> + <Project>{148CE534-318E-DEE4-F525-035ACB97C81E}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\preprocessor.vcxproj"> + <Project>{82C3EC0F-4407-6B6F-9A97-BA9A225EC094}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\translator_lib.vcxproj"> + <Project>{9E0D3FA0-A133-FC53-D992-096A6F7903DE}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\translator.vcxproj"> + <Project>{E3541041-4306-ECA5-B262-9C2EF3DBFC3E}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\translator_static.vcxproj"> + <Project>{60C4DBC4-945F-E059-D216-5D17E4E81C65}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\libANGLE.vcxproj"> + <Project>{ABC138A2-380D-7385-6291-9BC2D1B540A7}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\libGLESv2.vcxproj"> + <Project>{85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\libGLESv2_static.vcxproj"> + <Project>{B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\commit_id.vcxproj"> + <Project>{0416946B-BF08-FAD7-3C56-5290013F87E8}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\copy_compiler_dll.vcxproj"> + <Project>{349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\src\libEGL.vcxproj"> + <Project>{3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/build/all.sln b/projects/winrt/windows/build/all.sln new file mode 100644 index 00000000..21d31013 --- /dev/null +++ b/projects/winrt/windows/build/all.sln @@ -0,0 +1,218 @@ +Microsoft Visual Studio Solution File, Format Version 13.00 +# Visual Studio 2013 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "All", "All.vcxproj", "{F5DC05F7-7299-1CDF-0BF0-C4794B899255}" + ProjectSection(ProjectDependencies) = postProject + {148CE534-318E-DEE4-F525-035ACB97C81E} = {148CE534-318E-DEE4-F525-035ACB97C81E} + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094} = {82C3EC0F-4407-6B6F-9A97-BA9A225EC094} + {9E0D3FA0-A133-FC53-D992-096A6F7903DE} = {9E0D3FA0-A133-FC53-D992-096A6F7903DE} + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E} = {E3541041-4306-ECA5-B262-9C2EF3DBFC3E} + {60C4DBC4-945F-E059-D216-5D17E4E81C65} = {60C4DBC4-945F-E059-D216-5D17E4E81C65} + {ABC138A2-380D-7385-6291-9BC2D1B540A7} = {ABC138A2-380D-7385-6291-9BC2D1B540A7} + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB} = {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB} + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3} = {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3} + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26} = {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26} + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66} = {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "commit_id", "..\src\commit_id.vcxproj", "{0416946B-BF08-FAD7-3C56-5290013F87E8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "..\src\copy_compiler_dll.vcxproj", "{349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}" + ProjectSection(ProjectDependencies) = postProject + {148CE534-318E-DEE4-F525-035ACB97C81E} = {148CE534-318E-DEE4-F525-035ACB97C81E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_scripts", "..\src\copy_scripts.vcxproj", "{148CE534-318E-DEE4-F525-035ACB97C81E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libANGLE", "..\src\libANGLE.vcxproj", "{ABC138A2-380D-7385-6291-9BC2D1B540A7}" + ProjectSection(ProjectDependencies) = postProject + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libEGL", "..\src\libEGL.vcxproj", "{3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}" + ProjectSection(ProjectDependencies) = postProject + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB} = {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB} + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGLESv2", "..\src\libGLESv2.vcxproj", "{85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}" + ProjectSection(ProjectDependencies) = postProject + {ABC138A2-380D-7385-6291-9BC2D1B540A7} = {ABC138A2-380D-7385-6291-9BC2D1B540A7} + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E} = {E3541041-4306-ECA5-B262-9C2EF3DBFC3E} + {9E0D3FA0-A133-FC53-D992-096A6F7903DE} = {9E0D3FA0-A133-FC53-D992-096A6F7903DE} + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094} = {82C3EC0F-4407-6B6F-9A97-BA9A225EC094} + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGLESv2_static", "..\src\libGLESv2_static.vcxproj", "{B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}" + ProjectSection(ProjectDependencies) = postProject + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "preprocessor", "..\src\preprocessor.vcxproj", "{82C3EC0F-4407-6B6F-9A97-BA9A225EC094}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator", "..\src\translator.vcxproj", "{E3541041-4306-ECA5-B262-9C2EF3DBFC3E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator_lib", "..\src\translator_lib.vcxproj", "{9E0D3FA0-A133-FC53-D992-096A6F7903DE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator_static", "..\src\translator_static.vcxproj", "{60C4DBC4-945F-E059-D216-5D17E4E81C65}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Debug|ARM = Debug|ARM + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|Win32.ActiveCfg = Debug|Win32 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|Win32.Build.0 = Debug|Win32 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|x64.ActiveCfg = Debug|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|x64.Build.0 = Debug|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|ARM.ActiveCfg = Debug|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|ARM.Build.0 = Debug|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|ARM.ActiveCfg = Release|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|ARM.Build.0 = Release|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|x64.ActiveCfg = Release|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|x64.Build.0 = Release|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|Win32.ActiveCfg = Release|Win32 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|Win32.Build.0 = Release|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|Win32.ActiveCfg = Debug|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|Win32.Build.0 = Debug|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|x64.ActiveCfg = Debug|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|x64.Build.0 = Debug|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|ARM.ActiveCfg = Debug|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|ARM.Build.0 = Debug|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|ARM.ActiveCfg = Release|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|ARM.Build.0 = Release|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|x64.ActiveCfg = Release|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|x64.Build.0 = Release|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|Win32.ActiveCfg = Release|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|Win32.Build.0 = Release|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|Win32.ActiveCfg = Debug|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|Win32.Build.0 = Debug|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|x64.ActiveCfg = Debug|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|x64.Build.0 = Debug|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|ARM.ActiveCfg = Debug|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|ARM.Build.0 = Debug|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|ARM.ActiveCfg = Release|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|ARM.Build.0 = Release|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|x64.ActiveCfg = Release|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|x64.Build.0 = Release|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|Win32.ActiveCfg = Release|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|Win32.Build.0 = Release|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|Win32.ActiveCfg = Debug|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|Win32.Build.0 = Debug|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|x64.ActiveCfg = Debug|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|x64.Build.0 = Debug|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|ARM.ActiveCfg = Debug|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|ARM.Build.0 = Debug|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|ARM.ActiveCfg = Release|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|ARM.Build.0 = Release|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|x64.ActiveCfg = Release|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|x64.Build.0 = Release|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|Win32.ActiveCfg = Release|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|Win32.Build.0 = Release|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|Win32.ActiveCfg = Debug|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|Win32.Build.0 = Debug|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|x64.ActiveCfg = Debug|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|x64.Build.0 = Debug|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|ARM.ActiveCfg = Debug|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|ARM.Build.0 = Debug|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|ARM.ActiveCfg = Release|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|ARM.Build.0 = Release|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|x64.ActiveCfg = Release|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|x64.Build.0 = Release|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|Win32.ActiveCfg = Release|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|Win32.Build.0 = Release|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|Win32.ActiveCfg = Debug|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|Win32.Build.0 = Debug|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|x64.ActiveCfg = Debug|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|x64.Build.0 = Debug|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|ARM.ActiveCfg = Debug|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|ARM.Build.0 = Debug|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|ARM.ActiveCfg = Release|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|ARM.Build.0 = Release|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|x64.ActiveCfg = Release|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|x64.Build.0 = Release|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|Win32.ActiveCfg = Release|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|Win32.Build.0 = Release|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|Win32.ActiveCfg = Debug|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|Win32.Build.0 = Debug|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|x64.ActiveCfg = Debug|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|x64.Build.0 = Debug|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|ARM.ActiveCfg = Debug|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|ARM.Build.0 = Debug|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|ARM.ActiveCfg = Release|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|ARM.Build.0 = Release|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|x64.ActiveCfg = Release|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|x64.Build.0 = Release|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|Win32.ActiveCfg = Release|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|Win32.Build.0 = Release|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|Win32.ActiveCfg = Debug|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|Win32.Build.0 = Debug|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|x64.ActiveCfg = Debug|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|x64.Build.0 = Debug|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|ARM.ActiveCfg = Debug|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|ARM.Build.0 = Debug|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|ARM.ActiveCfg = Release|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|ARM.Build.0 = Release|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|x64.ActiveCfg = Release|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|x64.Build.0 = Release|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|Win32.ActiveCfg = Release|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|Win32.Build.0 = Release|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|Win32.ActiveCfg = Debug|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|Win32.Build.0 = Debug|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|x64.ActiveCfg = Debug|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|x64.Build.0 = Debug|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|ARM.ActiveCfg = Debug|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|ARM.Build.0 = Debug|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|ARM.ActiveCfg = Release|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|ARM.Build.0 = Release|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|x64.ActiveCfg = Release|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|x64.Build.0 = Release|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|Win32.ActiveCfg = Release|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|Win32.Build.0 = Release|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|Win32.ActiveCfg = Debug|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|Win32.Build.0 = Debug|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|x64.ActiveCfg = Debug|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|x64.Build.0 = Debug|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|ARM.ActiveCfg = Debug|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|ARM.Build.0 = Debug|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|ARM.ActiveCfg = Release|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|ARM.Build.0 = Release|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|x64.ActiveCfg = Release|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|x64.Build.0 = Release|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|Win32.ActiveCfg = Release|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|Win32.Build.0 = Release|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|Win32.ActiveCfg = Debug|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|Win32.Build.0 = Debug|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|x64.ActiveCfg = Debug|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|x64.Build.0 = Debug|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|ARM.ActiveCfg = Debug|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|ARM.Build.0 = Debug|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|ARM.ActiveCfg = Release|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|ARM.Build.0 = Release|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|x64.ActiveCfg = Release|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|x64.Build.0 = Release|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|Win32.ActiveCfg = Release|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|Win32.Build.0 = Release|Win32 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Debug|Win32.ActiveCfg = Debug|Win32 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Debug|Win32.Build.0 = Debug|Win32 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Debug|x64.ActiveCfg = Debug|x64 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Debug|x64.Build.0 = Debug|x64 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Debug|ARM.ActiveCfg = Debug|ARM + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Debug|ARM.Build.0 = Debug|ARM + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Release|ARM.ActiveCfg = Release|ARM + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Release|ARM.Build.0 = Release|ARM + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Release|x64.ActiveCfg = Release|x64 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Release|x64.Build.0 = Release|x64 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Release|Win32.ActiveCfg = Release|Win32 + {F5DC05F7-7299-1CDF-0BF0-C4794B899255}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/projects/winrt/windows/src/angle.sln b/projects/winrt/windows/src/angle.sln new file mode 100644 index 00000000..3034d00f --- /dev/null +++ b/projects/winrt/windows/src/angle.sln @@ -0,0 +1,191 @@ +Microsoft Visual Studio Solution File, Format Version 13.00 +# Visual Studio 2013 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "commit_id", "commit_id.vcxproj", "{0416946B-BF08-FAD7-3C56-5290013F87E8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "copy_compiler_dll.vcxproj", "{349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}" + ProjectSection(ProjectDependencies) = postProject + {148CE534-318E-DEE4-F525-035ACB97C81E} = {148CE534-318E-DEE4-F525-035ACB97C81E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_scripts", "copy_scripts.vcxproj", "{148CE534-318E-DEE4-F525-035ACB97C81E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libANGLE", "libANGLE.vcxproj", "{ABC138A2-380D-7385-6291-9BC2D1B540A7}" + ProjectSection(ProjectDependencies) = postProject + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libEGL", "libEGL.vcxproj", "{3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}" + ProjectSection(ProjectDependencies) = postProject + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB} = {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB} + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGLESv2", "libGLESv2.vcxproj", "{85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}" + ProjectSection(ProjectDependencies) = postProject + {ABC138A2-380D-7385-6291-9BC2D1B540A7} = {ABC138A2-380D-7385-6291-9BC2D1B540A7} + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E} = {E3541041-4306-ECA5-B262-9C2EF3DBFC3E} + {9E0D3FA0-A133-FC53-D992-096A6F7903DE} = {9E0D3FA0-A133-FC53-D992-096A6F7903DE} + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094} = {82C3EC0F-4407-6B6F-9A97-BA9A225EC094} + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGLESv2_static", "libGLESv2_static.vcxproj", "{B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}" + ProjectSection(ProjectDependencies) = postProject + {0416946B-BF08-FAD7-3C56-5290013F87E8} = {0416946B-BF08-FAD7-3C56-5290013F87E8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "preprocessor", "preprocessor.vcxproj", "{82C3EC0F-4407-6B6F-9A97-BA9A225EC094}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator", "translator.vcxproj", "{E3541041-4306-ECA5-B262-9C2EF3DBFC3E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator_lib", "translator_lib.vcxproj", "{9E0D3FA0-A133-FC53-D992-096A6F7903DE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator_static", "translator_static.vcxproj", "{60C4DBC4-945F-E059-D216-5D17E4E81C65}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Debug|ARM = Debug|ARM + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|Win32.ActiveCfg = Debug|Win32 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|Win32.Build.0 = Debug|Win32 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|x64.ActiveCfg = Debug|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|x64.Build.0 = Debug|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|ARM.ActiveCfg = Debug|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Debug|ARM.Build.0 = Debug|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|ARM.ActiveCfg = Release|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|ARM.Build.0 = Release|ARM + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|x64.ActiveCfg = Release|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|x64.Build.0 = Release|x64 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|Win32.ActiveCfg = Release|Win32 + {0416946B-BF08-FAD7-3C56-5290013F87E8}.Release|Win32.Build.0 = Release|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|Win32.ActiveCfg = Debug|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|Win32.Build.0 = Debug|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|x64.ActiveCfg = Debug|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|x64.Build.0 = Debug|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|ARM.ActiveCfg = Debug|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Debug|ARM.Build.0 = Debug|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|ARM.ActiveCfg = Release|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|ARM.Build.0 = Release|ARM + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|x64.ActiveCfg = Release|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|x64.Build.0 = Release|x64 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|Win32.ActiveCfg = Release|Win32 + {148CE534-318E-DEE4-F525-035ACB97C81E}.Release|Win32.Build.0 = Release|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|Win32.ActiveCfg = Debug|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|Win32.Build.0 = Debug|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|x64.ActiveCfg = Debug|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|x64.Build.0 = Debug|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|ARM.ActiveCfg = Debug|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Debug|ARM.Build.0 = Debug|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|ARM.ActiveCfg = Release|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|ARM.Build.0 = Release|ARM + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|x64.ActiveCfg = Release|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|x64.Build.0 = Release|x64 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|Win32.ActiveCfg = Release|Win32 + {349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}.Release|Win32.Build.0 = Release|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|Win32.ActiveCfg = Debug|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|Win32.Build.0 = Debug|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|x64.ActiveCfg = Debug|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|x64.Build.0 = Debug|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|ARM.ActiveCfg = Debug|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Debug|ARM.Build.0 = Debug|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|ARM.ActiveCfg = Release|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|ARM.Build.0 = Release|ARM + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|x64.ActiveCfg = Release|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|x64.Build.0 = Release|x64 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|Win32.ActiveCfg = Release|Win32 + {3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}.Release|Win32.Build.0 = Release|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|Win32.ActiveCfg = Debug|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|Win32.Build.0 = Debug|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|x64.ActiveCfg = Debug|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|x64.Build.0 = Debug|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|ARM.ActiveCfg = Debug|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Debug|ARM.Build.0 = Debug|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|ARM.ActiveCfg = Release|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|ARM.Build.0 = Release|ARM + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|x64.ActiveCfg = Release|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|x64.Build.0 = Release|x64 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|Win32.ActiveCfg = Release|Win32 + {60C4DBC4-945F-E059-D216-5D17E4E81C65}.Release|Win32.Build.0 = Release|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|Win32.ActiveCfg = Debug|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|Win32.Build.0 = Debug|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|x64.ActiveCfg = Debug|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|x64.Build.0 = Debug|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|ARM.ActiveCfg = Debug|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Debug|ARM.Build.0 = Debug|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|ARM.ActiveCfg = Release|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|ARM.Build.0 = Release|ARM + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|x64.ActiveCfg = Release|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|x64.Build.0 = Release|x64 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|Win32.ActiveCfg = Release|Win32 + {82C3EC0F-4407-6B6F-9A97-BA9A225EC094}.Release|Win32.Build.0 = Release|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|Win32.ActiveCfg = Debug|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|Win32.Build.0 = Debug|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|x64.ActiveCfg = Debug|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|x64.Build.0 = Debug|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|ARM.ActiveCfg = Debug|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Debug|ARM.Build.0 = Debug|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|ARM.ActiveCfg = Release|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|ARM.Build.0 = Release|ARM + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|x64.ActiveCfg = Release|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|x64.Build.0 = Release|x64 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|Win32.ActiveCfg = Release|Win32 + {85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}.Release|Win32.Build.0 = Release|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|Win32.ActiveCfg = Debug|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|Win32.Build.0 = Debug|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|x64.ActiveCfg = Debug|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|x64.Build.0 = Debug|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|ARM.ActiveCfg = Debug|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Debug|ARM.Build.0 = Debug|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|ARM.ActiveCfg = Release|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|ARM.Build.0 = Release|ARM + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|x64.ActiveCfg = Release|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|x64.Build.0 = Release|x64 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|Win32.ActiveCfg = Release|Win32 + {9E0D3FA0-A133-FC53-D992-096A6F7903DE}.Release|Win32.Build.0 = Release|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|Win32.ActiveCfg = Debug|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|Win32.Build.0 = Debug|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|x64.ActiveCfg = Debug|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|x64.Build.0 = Debug|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|ARM.ActiveCfg = Debug|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Debug|ARM.Build.0 = Debug|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|ARM.ActiveCfg = Release|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|ARM.Build.0 = Release|ARM + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|x64.ActiveCfg = Release|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|x64.Build.0 = Release|x64 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|Win32.ActiveCfg = Release|Win32 + {ABC138A2-380D-7385-6291-9BC2D1B540A7}.Release|Win32.Build.0 = Release|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|Win32.ActiveCfg = Debug|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|Win32.Build.0 = Debug|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|x64.ActiveCfg = Debug|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|x64.Build.0 = Debug|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|ARM.ActiveCfg = Debug|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Debug|ARM.Build.0 = Debug|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|ARM.ActiveCfg = Release|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|ARM.Build.0 = Release|ARM + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|x64.ActiveCfg = Release|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|x64.Build.0 = Release|x64 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|Win32.ActiveCfg = Release|Win32 + {B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}.Release|Win32.Build.0 = Release|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|Win32.ActiveCfg = Debug|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|Win32.Build.0 = Debug|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|x64.ActiveCfg = Debug|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|x64.Build.0 = Debug|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|ARM.ActiveCfg = Debug|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Debug|ARM.Build.0 = Debug|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|ARM.ActiveCfg = Release|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|ARM.Build.0 = Release|ARM + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|x64.ActiveCfg = Release|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|x64.Build.0 = Release|x64 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|Win32.ActiveCfg = Release|Win32 + {E3541041-4306-ECA5-B262-9C2EF3DBFC3E}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/projects/winrt/windows/src/commit_id.vcxproj b/projects/winrt/windows/src/commit_id.vcxproj new file mode 100644 index 00000000..9dfd7ce7 --- /dev/null +++ b/projects/winrt/windows/src/commit_id.vcxproj @@ -0,0 +1,299 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{0416946B-BF08-FAD7-3C56-5290013F87E8}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>commit_id</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies></AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <CustomBuild Include="..\..\..\..\src\commit.h"> + <FileType>Document</FileType> + <Command>call mkdir "$(OutDir)obj\global_intermediate\angle\id" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\..\..\src\commit.h" "$(OutDir)obj\global_intermediate\angle\id\commit.h"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> + <Message>Copying commit.h to $(OutDir)obj/global_intermediate/angle/id\commit.h</Message> + <Outputs>$(OutDir)obj\global_intermediate\angle\id\commit.h</Outputs> + </CustomBuild> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/copy_compiler_dll.vcxproj b/projects/winrt/windows/src/copy_compiler_dll.vcxproj new file mode 100644 index 00000000..40395c6f --- /dev/null +++ b/projects/winrt/windows/src/copy_compiler_dll.vcxproj @@ -0,0 +1,333 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{349845E5-5C17-E9F5-2ECA-4BD81A1DDC26}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>copy_compiler_dll</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="copy_scripts.vcxproj"> + <Project>{148CE534-318E-DEE4-F525-035ACB97C81E}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/copy_scripts.vcxproj b/projects/winrt/windows/src/copy_scripts.vcxproj new file mode 100644 index 00000000..5383abbe --- /dev/null +++ b/projects/winrt/windows/src/copy_scripts.vcxproj @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{148CE534-318E-DEE4-F525-035ACB97C81E}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>copy_scripts</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <CustomBuild Include="..\..\..\..\src\commit_id.py"> + <FileType>Document</FileType> + <Command>call mkdir "$(OutDir)obj\global_intermediate\angle" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\..\..\src\commit_id.py" "$(OutDir)obj\global_intermediate\angle\commit_id.py"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> + <Message>Copying commit_id.py to $(OutDir)obj/global_intermediate/angle\commit_id.py</Message> + <Outputs>$(OutDir)obj\global_intermediate\angle\commit_id.py</Outputs> + </CustomBuild> + <CustomBuild Include="..\..\..\..\src\copy_compiler_dll.bat"> + <FileType>Document</FileType> + <Command>call mkdir "$(OutDir)obj\global_intermediate\angle" 2>nul & set ERRORLEVEL=0 & copy /Y "..\..\..\..\src\copy_compiler_dll.bat" "$(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat"
if %errorlevel% neq 0 exit /b %errorlevel%</Command> + <Message>Copying copy_compiler_dll.bat to $(OutDir)obj/global_intermediate/angle\copy_compiler_dll.bat</Message> + <Outputs>$(OutDir)obj\global_intermediate\angle\copy_compiler_dll.bat</Outputs> + </CustomBuild> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/libANGLE.vcxproj b/projects/winrt/windows/src/libANGLE.vcxproj new file mode 100644 index 00000000..7c180e5f --- /dev/null +++ b/projects/winrt/windows/src/libANGLE.vcxproj @@ -0,0 +1,600 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{ABC138A2-380D-7385-6291-9BC2D1B540A7}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>libANGLE</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <IgnoreImportLibrary>false</IgnoreImportLibrary> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)lib\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;ANGLE_ENABLE_PERF;ANGLE_GENERATE_SHADER_DEBUG_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;d3d9.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;ANGLE_ENABLE_PERF;ANGLE_GENERATE_SHADER_DEBUG_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\libGLESv2\renderer\copyimage.inl"/> + <None Include="..\..\..\..\src\libGLESv2\renderer\copyvertex.inl"/> + <None Include="..\..\..\..\src\libGLESv2\renderer\generatemip.inl"/> + <None Include="..\..\..\..\src\libGLESv2\renderer\loadimage.inl"/> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\..\..\include\EGL\eglext.h"/> + <ClInclude Include="..\..\..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2ext.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2platform.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3ext.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3platform.h"/> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderLang.h"/> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderVars.h"/> + <ClInclude Include="..\..\..\..\include\KHR\khrplatform.h"/> + <ClInclude Include="..\..\..\..\include\angle_gl.h"/> + <ClInclude Include="..\..\..\..\src\common\RefCountObject.h"/> + <ClInclude Include="..\..\..\..\src\common\angleutils.h"/> + <ClInclude Include="..\..\..\..\src\common\blocklayout.h"/> + <ClInclude Include="..\..\..\..\src\common\debug.h"/> + <ClInclude Include="..\..\..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\..\..\src\common\mathutil.h"/> + <ClInclude Include="..\..\..\..\src\common\platform.h"/> + <ClInclude Include="..\..\..\..\src\common\NativeWindow.h"/> + <ClInclude Include="..\..\..\..\src\common\tls.h"/> + <ClInclude Include="..\..\..\..\src\common\utilities.h"/> + <ClInclude Include="..\..\..\..\src\common\version.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\BinaryStream.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Buffer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Caps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Constants.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Context.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Error.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Fence.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Framebuffer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\FramebufferAttachment.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\HandleAllocator.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\ImageIndex.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Program.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\ProgramBinary.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Query.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Renderbuffer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\ResourceManager.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Sampler.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Shader.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\State.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Texture.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\TransformFeedback.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\Uniform.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\VertexArray.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\VertexAttribute.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\angletypes.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\formatutils.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\main.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\queryconversions.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\BufferImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\FenceImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\Image.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\IndexRangeCache.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\ProgramImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\QueryImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\RenderTarget.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\Renderer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\ShaderExecutable.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\ShaderImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\SwapChain.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\TextureImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\TransformFeedbackImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\VertexArrayImpl.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\Workarounds.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\copyimage.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\copyvertex.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\generatemip.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\imageformats.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\loadimage.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\vertexconversion.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\resource.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\validationES.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\validationES2.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\validationES3.h"/> + <ClInclude Include="..\..\..\..\src\third_party\murmurhash\MurmurHash3.h"/> + <ClInclude Include="..\..\..\..\src\third_party\systeminfo\SystemInfo.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"/> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"/> + <ClInclude Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.h"/> + <ClInclude Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.h"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\common\RefCountObject.cpp"/> + <ClCompile Include="..\..\..\..\src\common\angleutils.cpp"/> + <ClCompile Include="..\..\..\..\src\common\blocklayout.cpp"/> + <ClCompile Include="..\..\..\..\src\common\debug.cpp"/> + <ClCompile Include="..\..\..\..\src\common\event_tracer.cpp"/> + <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"/> + <ClCompile Include="..\..\..\..\src\common\tls.cpp"/> + <ClCompile Include="..\..\..\..\src\common\utilities.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Buffer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Caps.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Context.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Error.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Fence.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Float16ToFloat32.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Framebuffer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\FramebufferAttachment.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\HandleAllocator.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\ImageIndex.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Program.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\ProgramBinary.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Query.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Renderbuffer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\ResourceManager.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Sampler.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Shader.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\State.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Texture.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\TransformFeedback.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\Uniform.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\VertexArray.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\VertexAttribute.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\angletypes.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\formatutils.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\main.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\queryconversions.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\Image.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\Renderer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\copyimage.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\loadimage.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\validationES.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\validationES2.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\validationES3.cpp"/> + <ClCompile Include="..\..\..\..\src\third_party\murmurhash\MurmurHash3.cpp"/> + <ClCompile Include="..\..\..\..\src\third_party\systeminfo\SystemInfo.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"/> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"/> + <ClCompile Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.cpp"/> + <ClCompile Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.cpp"/> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="commit_id.vcxproj"> + <Project>{0416946B-BF08-FAD7-3C56-5290013F87E8}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/libANGLE.vcxproj.filters b/projects/winrt/windows/src/libANGLE.vcxproj.filters new file mode 100644 index 00000000..26e1c318 --- /dev/null +++ b/projects/winrt/windows/src/libANGLE.vcxproj.filters @@ -0,0 +1,3658 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\KHR"> + <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\murmurhash"> + <UniqueIdentifier>{FBF5769C-D63C-9100-0719-0B97CE76B013}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\murmurhash"> + <UniqueIdentifier>{FBF5769C-D63C-9100-0719-0B97CE76B013}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\systeminfo"> + <UniqueIdentifier>{8E42519F-DD71-5875-38CA-0ED32E34DB55}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\systeminfo"> + <UniqueIdentifier>{8E42519F-DD71-5875-38CA-0ED32E34DB55}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders"> + <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled"> + <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer"> + <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d"> + <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier> + </Filter> + <Filter Include="src\libGLESv2\renderer\d3d\d3d11"> + <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\include\EGL\egl.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\EGL\eglext.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\EGL\eglplatform.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2ext.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2platform.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3ext.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3platform.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderLang.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderVars.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\KHR\khrplatform.h"> + <Filter>include\KHR</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\angle_gl.h"> + <Filter>include</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\RefCountObject.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\RefCountObject.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\angleutils.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\angleutils.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\blocklayout.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\blocklayout.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\debug.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\debug.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\event_tracer.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\event_tracer.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\mathutil.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\platform.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\NativeWindow.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\tls.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\tls.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\utilities.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\utilities.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\version.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\BinaryStream.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Buffer.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Buffer.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Caps.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Caps.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\Constants.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Context.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Context.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Error.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Error.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Fence.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Fence.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Float16ToFloat32.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\libGLESv2\Framebuffer.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Framebuffer.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\FramebufferAttachment.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\FramebufferAttachment.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\HandleAllocator.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\HandleAllocator.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\ImageIndex.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\ImageIndex.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\libGLESv2\Program.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Program.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\ProgramBinary.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\ProgramBinary.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Query.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Query.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Renderbuffer.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Renderbuffer.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\ResourceManager.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\ResourceManager.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Sampler.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Sampler.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Shader.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Shader.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\State.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\State.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Texture.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Texture.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\TransformFeedback.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\TransformFeedback.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\Uniform.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\Uniform.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\VertexArray.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\VertexArray.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\VertexAttribute.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\VertexAttribute.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\angletypes.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\angletypes.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\formatutils.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\formatutils.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\main.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\main.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\queryconversions.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\queryconversions.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\BufferImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\FenceImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\Image.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\Image.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\IndexRangeCache.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\ProgramImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\QueryImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\RenderTarget.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\Renderer.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\Renderer.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\ShaderExecutable.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\ShaderImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\SwapChain.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\TextureImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\TransformFeedbackImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\VertexArrayImpl.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\Workarounds.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\copyimage.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\copyimage.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <None Include="..\..\..\..\src\libGLESv2\renderer\copyimage.inl"> + <Filter>src\libGLESv2\renderer</Filter> + </None> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\copyvertex.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <None Include="..\..\..\..\src\libGLESv2\renderer\copyvertex.inl"> + <Filter>src\libGLESv2\renderer</Filter> + </None> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\generatemip.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <None Include="..\..\..\..\src\libGLESv2\renderer\generatemip.inl"> + <Filter>src\libGLESv2\renderer</Filter> + </None> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\imageformats.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\loadimage.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\loadimage.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <None Include="..\..\..\..\src\libGLESv2\renderer\loadimage.inl"> + <Filter>src\libGLESv2\renderer</Filter> + </None> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"> + <Filter>src\libGLESv2\renderer</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\vertexconversion.h"> + <Filter>src\libGLESv2\renderer</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\resource.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\validationES.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\validationES.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\validationES2.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\validationES2.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\validationES3.cpp"> + <Filter>src\libGLESv2</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\validationES3.h"> + <Filter>src\libGLESv2</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\third_party\murmurhash\MurmurHash3.cpp"> + <Filter>src\third_party\murmurhash</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\third_party\murmurhash\MurmurHash3.h"> + <Filter>src\third_party\murmurhash</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\third_party\systeminfo\SystemInfo.cpp"> + <Filter>src\third_party\systeminfo</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\third_party\systeminfo\SystemInfo.h"> + <Filter>src\third_party\systeminfo</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\DynamicHLSL.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\MemoryBuffer.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ProgramD3D.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\ShaderD3D.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureD3D.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\TransformFeedbackD3D.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h"> + <Filter>src\libGLESv2\renderer\d3d</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"> + <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.cpp"> + <Filter>src\common\winrt</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.h"> + <Filter>src\common\winrt</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.cpp"> + <Filter>src\common\winrt</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.h"> + <Filter>src\common\winrt</Filter> + </ClInclude> + <None Include="..\..\..\..\src\angle.gyp"> + <Filter>src</Filter> + </None> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/libEGL.vcxproj b/projects/winrt/windows/src/libEGL.vcxproj new file mode 100644 index 00000000..b1ec3128 --- /dev/null +++ b/projects/winrt/windows/src/libEGL.vcxproj @@ -0,0 +1,408 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{3989DAB8-4A64-1E8C-FF89-AEEAC1BF0D66}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>libEGL</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <IgnoreImportLibrary>false</IgnoreImportLibrary> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;ANGLE_ENABLE_PERF;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libEGL\libEGL.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;ANGLE_ENABLE_PERF;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libEGL\libEGL.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libEGL\libEGL.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libEGL\libEGL.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libEGL\libEGL.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libEGL\libEGL.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;$(OutDir)obj\global_intermediate\angle;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_ENABLE_D3D11;NTDDI_VERSION=NTDDI_WINBLUE;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\libEGL\libEGL.def"/> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\..\..\include\EGL\eglext.h"/> + <ClInclude Include="..\..\..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2ext.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2platform.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3ext.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3platform.h"/> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderLang.h"/> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderVars.h"/> + <ClInclude Include="..\..\..\..\include\KHR\khrplatform.h"/> + <ClInclude Include="..\..\..\..\include\angle_gl.h"/> + <ClInclude Include="..\..\..\..\src\common\RefCountObject.h"/> + <ClInclude Include="..\..\..\..\src\common\angleutils.h"/> + <ClInclude Include="..\..\..\..\src\common\debug.h"/> + <ClInclude Include="..\..\..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\..\..\src\common\mathutil.h"/> + <ClInclude Include="..\..\..\..\src\common\platform.h"/> + <ClInclude Include="..\..\..\..\src\common\NativeWindow.h"/> + <ClInclude Include="..\..\..\..\src\common\tls.h"/> + <ClInclude Include="..\..\..\..\src\common\utilities.h"/> + <ClInclude Include="..\..\..\..\src\common\version.h"/> + <ClInclude Include="..\..\..\..\src\libEGL\Config.h"/> + <ClInclude Include="..\..\..\..\src\libEGL\Display.h"/> + <ClInclude Include="..\..\..\..\src\libEGL\Surface.h"/> + <ClInclude Include="..\..\..\..\src\libEGL\main.h"/> + <ClInclude Include="..\..\..\..\src\libEGL\resource.h"/> + <ClInclude Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.h"/> + <ClInclude Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.h"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\common\RefCountObject.cpp"/> + <ClCompile Include="..\..\..\..\src\common\angleutils.cpp"/> + <ClCompile Include="..\..\..\..\src\common\debug.cpp"/> + <ClCompile Include="..\..\..\..\src\common\event_tracer.cpp"/> + <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"/> + <ClCompile Include="..\..\..\..\src\common\tls.cpp"/> + <ClCompile Include="..\..\..\..\src\common\utilities.cpp"/> + <ClCompile Include="..\..\..\..\src\libEGL\Config.cpp"/> + <ClCompile Include="..\..\..\..\src\libEGL\Display.cpp"/> + <ClCompile Include="..\..\..\..\src\libEGL\Surface.cpp"/> + <ClCompile Include="..\..\..\..\src\libEGL\libEGL.cpp"/> + <ClCompile Include="..\..\..\..\src\libEGL\main.cpp"/> + <ClCompile Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.cpp"/> + <ClCompile Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.cpp"/> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\..\..\..\src\libEGL\libEGL.rc"/> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libGLESv2.vcxproj"> + <Project>{85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="commit_id.vcxproj"> + <Project>{0416946B-BF08-FAD7-3C56-5290013F87E8}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/libEGL.vcxproj.filters b/projects/winrt/windows/src/libEGL.vcxproj.filters new file mode 100644 index 00000000..896cacf3 --- /dev/null +++ b/projects/winrt/windows/src/libEGL.vcxproj.filters @@ -0,0 +1,436 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\KHR"> + <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\libEGL"> + <UniqueIdentifier>{D633941D-C923-DFCE-3A9B-DCF851CC7DBA}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src\common\winrt"> + <UniqueIdentifier>{8C13C927-D4CA-F91A-E2C8-EF73D673852B}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\include\EGL\egl.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\EGL\eglext.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\EGL\eglplatform.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2ext.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2platform.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3ext.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3platform.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderLang.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderVars.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\KHR\khrplatform.h"> + <Filter>include\KHR</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\angle_gl.h"> + <Filter>include</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\RefCountObject.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\RefCountObject.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\angleutils.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\angleutils.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\debug.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\debug.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\event_tracer.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\event_tracer.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\mathutil.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\platform.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\NativeWindow.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\tls.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\tls.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\utilities.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\utilities.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\version.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libEGL\Config.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libEGL\Config.h"> + <Filter>src\libEGL</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libEGL\Display.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libEGL\Display.h"> + <Filter>src\libEGL</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libEGL\Surface.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libEGL\Surface.h"> + <Filter>src\libEGL</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\libEGL\libEGL.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <None Include="..\..\..\..\src\libEGL\libEGL.def"> + <Filter>src\libEGL</Filter> + </None> + <ResourceCompile Include="..\..\..\..\src\libEGL\libEGL.rc"> + <Filter>src\libEGL</Filter> + </ResourceCompile> + <ClCompile Include="..\..\..\..\src\libEGL\main.cpp"> + <Filter>src\libEGL</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\libEGL\main.h"> + <Filter>src\libEGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\libEGL\resource.h"> + <Filter>src\libEGL</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.cpp"> + <Filter>src\common\winrt</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\winrt\CoreWindowNativeWindow.h"> + <Filter>src\common\winrt</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.cpp"> + <Filter>src\common\winrt</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\winrt\IInspectableNativeWindow.h"> + <Filter>src\common\winrt</Filter> + </ClInclude> + <None Include="..\..\..\..\src\angle.gyp"> + <Filter>src</Filter> + </None> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/libGLESv2.vcxproj b/projects/winrt/windows/src/libGLESv2.vcxproj new file mode 100644 index 00000000..9a59cead --- /dev/null +++ b/projects/winrt/windows/src/libGLESv2.vcxproj @@ -0,0 +1,375 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{85F3A15C-B3C6-98E9-2A46-3B9059AEB1EB}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>libGLESv2</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <IgnoreImportLibrary>false</IgnoreImportLibrary> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;dxguid.lib;d3d11.lib;d3dcompiler.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libGLESv2\libGLESv2.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;dxguid.lib;d3d11.lib;d3dcompiler.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libGLESv2\libGLESv2.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;dxguid.lib;d3d11.lib;d3dcompiler.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libGLESv2\libGLESv2.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;dxguid.lib;d3d11.lib;d3dcompiler.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libGLESv2\libGLESv2.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;dxguid.lib;d3d11.lib;d3dcompiler.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libGLESv2\libGLESv2.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;dxguid.lib;d3d11.lib;d3dcompiler.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <ModuleDefinitionFile>..\..\..\..\src\libGLESv2\libGLESv2.def</ModuleDefinitionFile> + <OptimizeReferences>false</OptimizeReferences> + <OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\libGLESv2\libGLESv2.def"/> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.cpp"/> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.rc"/> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libANGLE.vcxproj"> + <Project>{ABC138A2-380D-7385-6291-9BC2D1B540A7}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="translator.vcxproj"> + <Project>{E3541041-4306-ECA5-B262-9C2EF3DBFC3E}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="translator_lib.vcxproj"> + <Project>{9E0D3FA0-A133-FC53-D992-096A6F7903DE}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="preprocessor.vcxproj"> + <Project>{82C3EC0F-4407-6B6F-9A97-BA9A225EC094}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="commit_id.vcxproj"> + <Project>{0416946B-BF08-FAD7-3C56-5290013F87E8}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/libGLESv2.vcxproj.filters b/projects/winrt/windows/src/libGLESv2.vcxproj.filters new file mode 100644 index 00000000..9e19d01c --- /dev/null +++ b/projects/winrt/windows/src/libGLESv2.vcxproj.filters @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.cpp"> + <Filter>libGLESv2</Filter> + </ClCompile> + <None Include="..\..\..\..\src\libGLESv2\libGLESv2.def"> + <Filter>libGLESv2</Filter> + </None> + <ResourceCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.rc"> + <Filter>libGLESv2</Filter> + </ResourceCompile> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/libGLESv2_static.vcxproj b/projects/winrt/windows/src/libGLESv2_static.vcxproj new file mode 100644 index 00000000..b169dad3 --- /dev/null +++ b/projects/winrt/windows/src/libGLESv2_static.vcxproj @@ -0,0 +1,352 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{B33C470E-7CAF-64BC-DAE9-AD9C14A2C6F3}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>libGLESv2_static</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <IgnoreImportLibrary>false</IgnoreImportLibrary> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)lib\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <OptimizeReferences>false</OptimizeReferences> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>$(OutDir)obj\global_intermediate\angle;..\..\..\..\src;..\..\..\..\include;..\..\..\..\src\libGLESv2;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" };NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.cpp"/> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.rc"/> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="commit_id.vcxproj"> + <Project>{0416946B-BF08-FAD7-3C56-5290013F87E8}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/libGLESv2_static.vcxproj.filters b/projects/winrt/windows/src/libGLESv2_static.vcxproj.filters new file mode 100644 index 00000000..6bd349d7 --- /dev/null +++ b/projects/winrt/windows/src/libGLESv2_static.vcxproj.filters @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + <Filter Include="libGLESv2"> + <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.cpp"> + <Filter>libGLESv2</Filter> + </ClCompile> + <ResourceCompile Include="..\..\..\..\src\libGLESv2\libGLESv2.rc"> + <Filter>libGLESv2</Filter> + </ResourceCompile> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/preprocessor.vcxproj b/projects/winrt/windows/src/preprocessor.vcxproj new file mode 100644 index 00000000..8ef6df28 --- /dev/null +++ b/projects/winrt/windows/src/preprocessor.vcxproj @@ -0,0 +1,358 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{82C3EC0F-4407-6B6F-9A97-BA9A225EC094}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>preprocessor</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)lib\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\compiler\preprocessor\ExpressionParser.y"/> + <None Include="..\..\..\..\src\compiler\preprocessor\Tokenizer.l"/> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\DiagnosticsBase.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\DirectiveHandlerBase.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\DirectiveParser.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\ExpressionParser.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Input.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Lexer.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Macro.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\MacroExpander.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Preprocessor.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\SourceLocation.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Token.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Tokenizer.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\numeric_lex.h"/> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\pp_utils.h"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\DiagnosticsBase.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\DirectiveHandlerBase.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\DirectiveParser.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\ExpressionParser.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Input.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Lexer.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Macro.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\MacroExpander.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Preprocessor.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Token.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Tokenizer.cpp"/> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/preprocessor.vcxproj.filters b/projects/winrt/windows/src/preprocessor.vcxproj.filters new file mode 100644 index 00000000..d53a481e --- /dev/null +++ b/projects/winrt/windows/src/preprocessor.vcxproj.filters @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\preprocessor"> + <UniqueIdentifier>{56A90BCD-B311-1BEE-A8AC-25D8344BCE41}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\DiagnosticsBase.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\DiagnosticsBase.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\DirectiveHandlerBase.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\DirectiveHandlerBase.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\DirectiveParser.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\DirectiveParser.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\ExpressionParser.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\ExpressionParser.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <None Include="..\..\..\..\src\compiler\preprocessor\ExpressionParser.y"> + <Filter>compiler\preprocessor</Filter> + </None> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Input.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Input.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Lexer.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Lexer.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Macro.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Macro.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\MacroExpander.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\MacroExpander.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Preprocessor.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Preprocessor.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\SourceLocation.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Token.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Token.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\preprocessor\Tokenizer.cpp"> + <Filter>compiler\preprocessor</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\Tokenizer.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <None Include="..\..\..\..\src\compiler\preprocessor\Tokenizer.l"> + <Filter>compiler\preprocessor</Filter> + </None> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\numeric_lex.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\preprocessor\pp_utils.h"> + <Filter>compiler\preprocessor</Filter> + </ClInclude> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/translator.vcxproj b/projects/winrt/windows/src/translator.vcxproj new file mode 100644 index 00000000..f5ff299a --- /dev/null +++ b/projects/winrt/windows/src/translator.vcxproj @@ -0,0 +1,331 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{E3541041-4306-ECA5-B262-9C2EF3DBFC3E}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>translator</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)lib\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_IMPLEMENTATION;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderLang.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderVars.cpp"/> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/translator.vcxproj.filters b/projects/winrt/windows/src/translator.vcxproj.filters new file mode 100644 index 00000000..a829353d --- /dev/null +++ b/projects/winrt/windows/src/translator.vcxproj.filters @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderLang.cpp"> + <Filter>compiler\translator</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderVars.cpp"> + <Filter>compiler\translator</Filter> + </ClCompile> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/translator_lib.vcxproj b/projects/winrt/windows/src/translator_lib.vcxproj new file mode 100644 index 00000000..bdd287fc --- /dev/null +++ b/projects/winrt/windows/src/translator_lib.vcxproj @@ -0,0 +1,493 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{9E0D3FA0-A133-FC53-D992-096A6F7903DE}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>translator_lib</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)lib\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalOptions>/ignore:4221 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\compiler\translator\glslang.l"/> + <None Include="..\..\..\..\src\compiler\translator\glslang.y"/> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\include\EGL\egl.h"/> + <ClInclude Include="..\..\..\..\include\EGL\eglext.h"/> + <ClInclude Include="..\..\..\..\include\EGL\eglplatform.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2ext.h"/> + <ClInclude Include="..\..\..\..\include\GLES2\gl2platform.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3ext.h"/> + <ClInclude Include="..\..\..\..\include\GLES3\gl3platform.h"/> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderLang.h"/> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderVars.h"/> + <ClInclude Include="..\..\..\..\include\KHR\khrplatform.h"/> + <ClInclude Include="..\..\..\..\include\angle_gl.h"/> + <ClInclude Include="..\..\..\..\src\common\RefCountObject.h"/> + <ClInclude Include="..\..\..\..\src\common\angleutils.h"/> + <ClInclude Include="..\..\..\..\src\common\blocklayout.h"/> + <ClInclude Include="..\..\..\..\src\common\debug.h"/> + <ClInclude Include="..\..\..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\..\..\src\common\mathutil.h"/> + <ClInclude Include="..\..\..\..\src\common\platform.h"/> + <ClInclude Include="..\..\..\..\src\common\tls.h"/> + <ClInclude Include="..\..\..\..\src\common\utilities.h"/> + <ClInclude Include="..\..\..\..\src\common\version.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\BaseTypes.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\BuiltInFunctionEmulator.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Common.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Compiler.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ConstantUnion.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\DetectCallDepth.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\DetectDiscontinuity.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Diagnostics.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\DirectiveHandler.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ExtensionBehavior.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\FlagStd140Structs.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ForLoopUnroll.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\HashNames.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\InfoSink.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Initialize.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeDll.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeGlobals.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeParseContext.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeVariables.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Intermediate.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\IntermNode.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\LoopInfo.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\MMap.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\NodeSearch.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputESSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputGLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputGLSLBase.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputHLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ParseContext.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\PoolAlloc.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Pragma.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\QualifierAlive.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\RegenerateStructNames.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\RemoveTree.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\RenameFunction.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\RewriteElseBlocks.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\SearchSymbol.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\StructureHLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\SymbolTable.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\TranslatorESSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\TranslatorGLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\TranslatorHLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\Types.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuit.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuitAST.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\UniformHLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\UtilsHLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ValidateLimitations.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\ValidateOutputs.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\VariableInfo.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\VariablePacker.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\VersionGLSL.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\compilerdebug.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraph.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphOutput.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\glslang.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\glslang_tab.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\intermediate.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\length_limits.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.h"/> + <ClInclude Include="..\..\..\..\src\compiler\translator\util.h"/> + <ClInclude Include="..\..\..\..\src\third_party\compiler\ArrayBoundsClamper.h"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\common\RefCountObject.cpp"/> + <ClCompile Include="..\..\..\..\src\common\angleutils.cpp"/> + <ClCompile Include="..\..\..\..\src\common\blocklayout.cpp"/> + <ClCompile Include="..\..\..\..\src\common\debug.cpp"/> + <ClCompile Include="..\..\..\..\src\common\event_tracer.cpp"/> + <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"/> + <ClCompile Include="..\..\..\..\src\common\tls.cpp"/> + <ClCompile Include="..\..\..\..\src\common\utilities.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\BuiltInFunctionEmulator.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\CodeGen.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\Compiler.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\DetectCallDepth.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\DetectDiscontinuity.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\Diagnostics.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\DirectiveHandler.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\FlagStd140Structs.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ForLoopUnroll.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\InfoSink.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\Initialize.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\InitializeDll.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\InitializeParseContext.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\InitializeVariables.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\IntermTraverse.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\Intermediate.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\IntermNode.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\LoopInfo.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputESSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputGLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputGLSLBase.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputHLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ParseContext.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\PoolAlloc.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\QualifierAlive.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\RegenerateStructNames.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\RemoveTree.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\RewriteElseBlocks.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\SearchSymbol.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\StructureHLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\SymbolTable.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\TranslatorESSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\TranslatorGLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\TranslatorHLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\Types.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuit.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\UniformHLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\UtilsHLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ValidateLimitations.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ValidateOutputs.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\VariableInfo.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\VariablePacker.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\VersionGLSL.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\compilerdebug.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraph.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\glslang_lex.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\glslang_tab.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\intermOut.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\parseConst.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\util.cpp"/> + <ClCompile Include="..\..\..\..\src\third_party\compiler\ArrayBoundsClamper.cpp"/> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/translator_lib.vcxproj.filters b/projects/winrt/windows/src/translator_lib.vcxproj.filters new file mode 100644 index 00000000..c792f3e8 --- /dev/null +++ b/projects/winrt/windows/src/translator_lib.vcxproj.filters @@ -0,0 +1,1822 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\EGL"> + <UniqueIdentifier>{79AE79DD-7922-70CC-3439-C9B3586338EF}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES2"> + <UniqueIdentifier>{3FFE2AF8-8DA3-57BA-8037-4BE936BC5045}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLES3"> + <UniqueIdentifier>{E18FF71E-3DE4-F6D0-36B6-93BA54EEDEE1}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\GLSLANG"> + <UniqueIdentifier>{AD7D3D9B-E716-B150-1F3A-64569B7F5415}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="include\KHR"> + <UniqueIdentifier>{6D4588DE-6319-FB13-135F-FA88843373FC}</UniqueIdentifier> + </Filter> + <Filter Include="include"> + <UniqueIdentifier>{57CA55B8-BCC5-4000-CE3A-58972F82E9CB}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\depgraph"> + <UniqueIdentifier>{233BE2B2-4E73-B3F0-20B8-25A55D8E5238}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator\timing"> + <UniqueIdentifier>{E1BE6BE7-5019-57F8-5C7D-26FC8CE74904}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src\compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party"> + <UniqueIdentifier>{D6C6CEA7-AAD0-03AD-2394-AC6FCBF8A498}</UniqueIdentifier> + </Filter> + <Filter Include="src\third_party\compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\..\include\EGL\egl.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\EGL\eglext.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\EGL\eglplatform.h"> + <Filter>include\EGL</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2ext.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES2\gl2platform.h"> + <Filter>include\GLES2</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3ext.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLES3\gl3platform.h"> + <Filter>include\GLES3</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderLang.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\GLSLANG\ShaderVars.h"> + <Filter>include\GLSLANG</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\KHR\khrplatform.h"> + <Filter>include\KHR</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\include\angle_gl.h"> + <Filter>include</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\RefCountObject.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\RefCountObject.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\angleutils.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\angleutils.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\common\blocklayout.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\blocklayout.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\debug.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\debug.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\event_tracer.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\event_tracer.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\mathutil.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\platform.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\tls.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\tls.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\common\utilities.cpp"> + <Filter>src\common</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\common\utilities.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\common\version.h"> + <Filter>src\common</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\BaseTypes.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\BuiltInFunctionEmulator.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\BuiltInFunctionEmulator.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\CodeGen.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\Common.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\Compiler.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\Compiler.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\ConstantUnion.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\DetectCallDepth.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\DetectCallDepth.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\DetectDiscontinuity.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\DetectDiscontinuity.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\Diagnostics.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\Diagnostics.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\DirectiveHandler.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\DirectiveHandler.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\ExtensionBehavior.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\FlagStd140Structs.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\FlagStd140Structs.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\ForLoopUnroll.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\ForLoopUnroll.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\HashNames.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\InfoSink.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\InfoSink.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\Initialize.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\Initialize.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\InitializeDll.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeDll.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeGlobals.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\InitializeParseContext.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeParseContext.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\InitializeVariables.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\InitializeVariables.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\IntermTraverse.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\Intermediate.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\Intermediate.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\IntermNode.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\IntermNode.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\compiler\translator\LoopInfo.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\LoopInfo.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\MMap.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\NodeSearch.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputESSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputESSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputGLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputGLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputGLSLBase.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputGLSLBase.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\OutputHLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\OutputHLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\ParseContext.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\ParseContext.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\PoolAlloc.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\PoolAlloc.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\Pragma.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\QualifierAlive.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\QualifierAlive.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\RegenerateStructNames.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\RegenerateStructNames.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\RemoveTree.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\RemoveTree.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\RenameFunction.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\RewriteElseBlocks.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\RewriteElseBlocks.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\ScalarizeVecAndMatConstructorArgs.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\SearchSymbol.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\SearchSymbol.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\StructureHLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\StructureHLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\SymbolTable.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\SymbolTable.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\TranslatorESSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\TranslatorESSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\TranslatorGLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\TranslatorGLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\TranslatorHLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\TranslatorHLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\Types.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\Types.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuit.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuit.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\UnfoldShortCircuitAST.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\UniformHLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\UniformHLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\UtilsHLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\UtilsHLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\ValidateLimitations.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\ValidateLimitations.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\ValidateOutputs.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\ValidateOutputs.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\VariableInfo.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\VariableInfo.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\VariablePacker.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\VariablePacker.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\VersionGLSL.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\VersionGLSL.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\compilerdebug.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\compilerdebug.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraph.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraph.h"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphBuilder.h"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphOutput.h"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp"> + <Filter>src\compiler\translator\depgraph</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\glslang.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <None Include="..\..\..\..\src\compiler\translator\glslang.l"> + <Filter>src\compiler\translator</Filter> + </None> + <None Include="..\..\..\..\src\compiler\translator\glslang.y"> + <Filter>src\compiler\translator</Filter> + </None> + <ClCompile Include="..\..\..\..\src\compiler\translator\glslang_lex.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\compiler\translator\glslang_tab.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\glslang_tab.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\intermOut.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\intermediate.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClInclude Include="..\..\..\..\src\compiler\translator\length_limits.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\parseConst.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp"> + <Filter>src\compiler\translator\timing</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h"> + <Filter>src\compiler\translator\timing</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp"> + <Filter>src\compiler\translator\timing</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\timing\RestrictVertexShaderTiming.h"> + <Filter>src\compiler\translator\timing</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\compiler\translator\util.cpp"> + <Filter>src\compiler\translator</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\compiler\translator\util.h"> + <Filter>src\compiler\translator</Filter> + </ClInclude> + <ClCompile Include="..\..\..\..\src\third_party\compiler\ArrayBoundsClamper.cpp"> + <Filter>src\third_party\compiler</Filter> + </ClCompile> + <ClInclude Include="..\..\..\..\src\third_party\compiler\ArrayBoundsClamper.h"> + <Filter>src\third_party\compiler</Filter> + </ClInclude> + <None Include="..\..\..\..\src\angle.gyp"> + <Filter>src</Filter> + </None> + </ItemGroup> +</Project> diff --git a/projects/winrt/windows/src/translator_static.vcxproj b/projects/winrt/windows/src/translator_static.vcxproj new file mode 100644 index 00000000..1c0bc51f --- /dev/null +++ b/projects/winrt/windows/src/translator_static.vcxproj @@ -0,0 +1,331 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{60C4DBC4-945F-E059-D216-5D17E4E81C65}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>translator_static</RootNamespace> + <IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename> + <DefaultLanguage>en-US</DefaultLanguage> + <AppContainerApplication>true</AppContainerApplication> + <ApplicationTypeRevision>8.1</ApplicationTypeRevision> + <ApplicationType>Windows Store</ApplicationType> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/> + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Locals"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/> + <ImportGroup Label="ExtensionSettings"/> + <ImportGroup Label="PropertySheets"> + <Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/> + </ImportGroup> + <PropertyGroup Label="UserMacros"/> + <PropertyGroup> + <ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\..\..\third_party\python_26\</ExecutablePath> + <OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir> + <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <TargetName>$(ProjectName)</TargetName> + <TargetPath>$(OutDir)lib\$(ProjectName)$(TargetExt)</TargetPath> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>Disabled</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + <TargetMachine>MachineX86</TargetMachine> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x86;C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86;C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/arm;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineARM</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions> + <BufferSecurityCheck>true</BufferSecurityCheck> + <CompileAsWinRT>false</CompileAsWinRT> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4100;4127;4239;4244;4245;4251;4512;4702;4530;4718;4267;4264;4447;4075;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <ExceptionHandling>false</ExceptionHandling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <MinimalRebuild>false</MinimalRebuild> + <Optimization>MaxSpeed</Optimization> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;NOMINMAX;ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <RuntimeTypeInfo>true</RuntimeTypeInfo> + <TreatWarningAsError>true</TreatWarningAsError> + <WarningLevel>Level4</WarningLevel> + </ClCompile> + <Lib> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <OutputFile>$(OutDir)lib\$(ProjectName)$(TargetExt)</OutputFile> + </Lib> + <Link> + <AdditionalDependencies>%(AdditionalDependencies);uuid.lib</AdditionalDependencies> + <AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.1/Lib/win8/um/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <FixedBaseAddress>false</FixedBaseAddress> + <GenerateDebugInformation>false</GenerateDebugInformation> + <ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary> + <MapFileName>$(OutDir)$(TargetName).map</MapFileName> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Midl> + <AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </Midl> + <ResourceCompile> + <AdditionalIncludeDirectories>..\..\..\..\src;..\..\..\..\include;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>ANGLE_TRANSLATOR_STATIC;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderLang.cpp"/> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderVars.cpp"/> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/> + <ImportGroup Label="ExtensionTargets"/> +</Project> diff --git a/projects/winrt/windows/src/translator_static.vcxproj.filters b/projects/winrt/windows/src/translator_static.vcxproj.filters new file mode 100644 index 00000000..a829353d --- /dev/null +++ b/projects/winrt/windows/src/translator_static.vcxproj.filters @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + <Filter Include="compiler"> + <UniqueIdentifier>{041FFD28-E4BD-ABC0-5AF7-A6D1560FAC0E}</UniqueIdentifier> + </Filter> + <Filter Include="compiler\translator"> + <UniqueIdentifier>{502101C2-1680-5126-1D2E-39419A1AE009}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderLang.cpp"> + <Filter>compiler\translator</Filter> + </ClCompile> + <ClCompile Include="..\..\..\..\src\compiler\translator\ShaderVars.cpp"> + <Filter>compiler\translator</Filter> + </ClCompile> + <None Include="..\..\..\..\src\angle.gyp"/> + </ItemGroup> +</Project> diff --git a/samples/angle/sample_util/SampleApplication.cpp b/samples/angle/sample_util/SampleApplication.cpp index e0228fbe..81fd7db3 100644 --- a/samples/angle/sample_util/SampleApplication.cpp +++ b/samples/angle/sample_util/SampleApplication.cpp @@ -85,6 +85,8 @@ int SampleApplication::run() return -1; } + mOSWindow->setVisible(true); + if (!mEGLWindow->initializeGL(mOSWindow.get())) { return -1; diff --git a/src/angle.gypi b/src/angle.gypi index 8629c2ef..efbfd374 100644 --- a/src/angle.gypi +++ b/src/angle.gypi @@ -13,6 +13,16 @@ 'angle_id_header_base': 'commit.h', 'angle_id_header': '<(angle_gen_path)/id/<(angle_id_header_base)', 'angle_use_commit_id%': '<!(python <(angle_id_script_base) check ..)', + 'angle_enable_d3d9%': 0, + 'angle_enable_d3d11%': 0, + 'conditions': + [ + ['OS=="win"', + { + 'angle_enable_d3d9%': 1, + 'angle_enable_d3d11%': 1, + }], + ], }, 'includes': [ @@ -26,6 +36,7 @@ { 'target_name': 'copy_scripts', 'type': 'none', + 'includes': [ '../build/common_defines.gypi', ], 'hard_dependency': 1, 'copies': [ @@ -34,6 +45,18 @@ 'files': [ 'copy_compiler_dll.bat', '<(angle_id_script_base)' ], }, ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + 'type' : 'shared_library', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], }, ], 'conditions': @@ -70,6 +93,18 @@ '<(angle_gen_path)', ], }, + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + 'type' : 'shared_library', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], } ] }, @@ -80,6 +115,7 @@ 'target_name': 'commit_id', 'type': 'none', 'hard_dependency': 1, + 'includes': [ '../build/common_defines.gypi', ], 'copies': [ { @@ -94,6 +130,18 @@ '<(angle_gen_path)', ], }, + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + 'type' : 'shared_library', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], } ] }], @@ -106,23 +154,38 @@ 'type': 'none', 'dependencies': [ 'copy_scripts', ], 'includes': [ '../build/common_defines.gypi', ], - 'actions': + 'conditions': [ + ['angle_build_winrt==0', { - 'action_name': 'copy_dll', - 'message': 'Copying D3D Compiler DLL...', - 'msvs_cygwin_shell': 0, - 'inputs': [ 'copy_compiler_dll.bat' ], - 'outputs': [ '<(PRODUCT_DIR)/d3dcompiler_46.dll' ], - 'action': + 'actions': [ - "<(angle_gen_path)/copy_compiler_dll.bat", - "$(PlatformName)", - "<(windows_sdk_path)", - "<(PRODUCT_DIR)" - ], - }, - ], #actions + { + 'action_name': 'copy_dll', + 'message': 'Copying D3D Compiler DLL...', + 'msvs_cygwin_shell': 0, + 'inputs': [ 'copy_compiler_dll.bat' ], + 'outputs': [ '<(PRODUCT_DIR)/d3dcompiler_46.dll' ], + 'action': + [ + "<(angle_gen_path)/copy_compiler_dll.bat", + "$(PlatformName)", + "<(windows_sdk_path)", + "<(PRODUCT_DIR)" + ], + }, + ], #actions + }], + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + 'type' : 'shared_library', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ] }, ], # targets }], diff --git a/src/commit_id.target.darwin-arm.mk b/src/commit_id.target.darwin-arm.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.darwin-arm.mk +++ b/src/commit_id.target.darwin-arm.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.darwin-arm64.mk b/src/commit_id.target.darwin-arm64.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.darwin-arm64.mk +++ b/src/commit_id.target.darwin-arm64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.darwin-mips.mk b/src/commit_id.target.darwin-mips.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.darwin-mips.mk +++ b/src/commit_id.target.darwin-mips.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.darwin-x86.mk b/src/commit_id.target.darwin-x86.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.darwin-x86.mk +++ b/src/commit_id.target.darwin-x86.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.darwin-x86_64.mk b/src/commit_id.target.darwin-x86_64.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.darwin-x86_64.mk +++ b/src/commit_id.target.darwin-x86_64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.linux-arm.mk b/src/commit_id.target.linux-arm.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.linux-arm.mk +++ b/src/commit_id.target.linux-arm.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.linux-arm64.mk b/src/commit_id.target.linux-arm64.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.linux-arm64.mk +++ b/src/commit_id.target.linux-arm64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.linux-mips.mk b/src/commit_id.target.linux-mips.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.linux-mips.mk +++ b/src/commit_id.target.linux-mips.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.linux-x86.mk b/src/commit_id.target.linux-x86.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.linux-x86.mk +++ b/src/commit_id.target.linux-x86.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/commit_id.target.linux-x86_64.mk b/src/commit_id.target.linux-x86_64.mk index 20a90595..89cda08b 100644 --- a/src/commit_id.target.linux-x86_64.mk +++ b/src/commit_id.target.linux-x86_64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_commit_id_gyp LOCAL_MODULE_STEM := commit_id LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -33,6 +34,10 @@ GYP_GENERATED_OUTPUTS := \ LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_commit_id_gyp diff --git a/src/common/NativeWindow.h b/src/common/NativeWindow.h new file mode 100644 index 00000000..911d737b --- /dev/null +++ b/src/common/NativeWindow.h @@ -0,0 +1,71 @@ +// +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// NativeWindow.h: Defines NativeWindow, a class for managing and +// performing operations on an EGLNativeWindowType. +// It is used for HWND (Desktop Windows) and IInspectable objects +//(Windows Store Applications). + +#ifndef COMMON_NATIVEWINDOW_H_ +#define COMMON_NATIVEWINDOW_H_ + +#include <EGL/eglplatform.h> +#include "common/debug.h" +#include "common/platform.h" + +// DXGISwapChain and DXGIFactory are typedef'd to specific required +// types. The HWND NativeWindow implementation requires IDXGISwapChain +// and IDXGIFactory and the Windows Store NativeWindow +// implementation requires IDXGISwapChain1 and IDXGIFactory2. +#if defined(ANGLE_ENABLE_WINDOWS_STORE) +typedef IDXGISwapChain1 DXGISwapChain; +typedef IDXGIFactory2 DXGIFactory; + +#include <wrl.h> +#include <wrl/wrappers/corewrappers.h> +#include <windows.applicationmodel.core.h> +#include <memory> + +class IInspectableNativeWindow; + +using namespace Microsoft::WRL; +using namespace Microsoft::WRL::Wrappers; + +#else +typedef IDXGISwapChain DXGISwapChain; +typedef IDXGIFactory DXGIFactory; +#endif + +namespace rx +{ +class NativeWindow +{ +public: + explicit NativeWindow(EGLNativeWindowType window); + + bool initialize(); + bool getClientRect(LPRECT rect); + bool isIconic(); + + HRESULT createSwapChain(ID3D11Device* device, DXGIFactory* factory, + DXGI_FORMAT format, UINT width, UINT height, + DXGISwapChain** swapChain); + + inline EGLNativeWindowType getNativeWindow() const { return mWindow; } + +private: + EGLNativeWindowType mWindow; + +#if defined(ANGLE_ENABLE_WINDOWS_STORE) + std::shared_ptr<IInspectableNativeWindow> mImpl; +#endif + +}; +} + +bool isValidEGLNativeWindowType(EGLNativeWindowType window); + +#endif // COMMON_NATIVEWINDOW_H_ diff --git a/src/common/angleutils.cpp b/src/common/angleutils.cpp index 2673abf3..2ced98d8 100644 --- a/src/common/angleutils.cpp +++ b/src/common/angleutils.cpp @@ -6,6 +6,7 @@ #include "common/angleutils.h" +#include <stdio.h> #include <vector> std::string FormatString(const char *fmt, va_list vararg) @@ -24,7 +25,7 @@ std::string FormatString(const char *fmt, va_list vararg) vsnprintf(&buffer[0], buffer.size(), fmt, vararg); } - return std::string(buffer.data(), len); + return std::string(&buffer[0], len); } std::string FormatString(const char *fmt, ...) diff --git a/src/common/debug.cpp b/src/common/debug.cpp index dcad3275..41e8b00d 100644 --- a/src/common/debug.cpp +++ b/src/common/debug.cpp @@ -87,7 +87,6 @@ bool perfActive() ScopedPerfEventHelper::ScopedPerfEventHelper(const char* format, ...) { -#if defined(ANGLE_ENABLE_PERF) #if !defined(ANGLE_ENABLE_TRACE) if (!perfActive()) { @@ -96,9 +95,12 @@ ScopedPerfEventHelper::ScopedPerfEventHelper(const char* format, ...) #endif // !ANGLE_ENABLE_TRACE va_list vararg; va_start(vararg, format); +#if defined(ANGLE_ENABLE_PERF) output(true, reinterpret_cast<PerfOutputFunction>(D3DPERF_BeginEvent), format, vararg); - va_end(vararg); +#else + output(true, NULL, format, vararg); #endif // ANGLE_ENABLE_PERF + va_end(vararg); } ScopedPerfEventHelper::~ScopedPerfEventHelper() diff --git a/src/common/debug.h b/src/common/debug.h index 997ebca6..66c4c69c 100644 --- a/src/common/debug.h +++ b/src/common/debug.h @@ -91,6 +91,10 @@ namespace gl // A macro to indicate unimplemented functionality +#if defined (ANGLE_TEST_CONFIG) +#define NOASSERT_UNIMPLEMENTED 1 +#endif + // Define NOASSERT_UNIMPLEMENTED to non zero to skip the assert fail in the unimplemented checks // This will allow us to test with some automated test suites (eg dEQP) without crashing #ifndef NOASSERT_UNIMPLEMENTED @@ -124,7 +128,7 @@ namespace gl #endif // A macro functioning as a compile-time assert to validate constant conditions -#if defined(_MSC_VER) && _MSC_VER >= 1600 +#if (defined(_MSC_VER) && _MSC_VER >= 1600) || (defined(__GNUC__) && (__GNUC__ > 4 || __GNUC_MINOR__ >= 3)) #define META_ASSERT_MSG(condition, msg) static_assert(condition, msg) #else #define META_ASSERT_CONCAT(a, b) a ## b diff --git a/src/common/mathutil.h b/src/common/mathutil.h index ffcb9087..520ff7fd 100644 --- a/src/common/mathutil.h +++ b/src/common/mathutil.h @@ -109,7 +109,7 @@ inline unsigned int unorm(float x) inline bool supportsSSE2() { -#ifdef ANGLE_PLATFORM_WINDOWS +#if ANGLE_PLATFORM_WINDOWS && !defined(_M_ARM) static bool checked = false; static bool supports = false; diff --git a/src/common/platform.h b/src/common/platform.h index d07297df..f2ac4e9a 100644 --- a/src/common/platform.h +++ b/src/common/platform.h @@ -34,6 +34,9 @@ #endif #ifdef ANGLE_PLATFORM_WINDOWS +# if defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PC_APP +# define ANGLE_ENABLE_WINDOWS_STORE 1 +# endif # ifndef STRICT # define STRICT 1 # endif @@ -60,6 +63,11 @@ # include <d3dcompiler.h> # endif +# if defined(ANGLE_ENABLE_WINDOWS_STORE) +# undef ANGLE_ENABLE_PERF +# include <dxgi1_3.h> +# endif + # undef near # undef far #endif diff --git a/src/common/tls.cpp b/src/common/tls.cpp index 6b782197..cb1b32d3 100644 --- a/src/common/tls.cpp +++ b/src/common/tls.cpp @@ -10,12 +10,50 @@ #include <assert.h> +#ifdef ANGLE_ENABLE_WINDOWS_STORE +#include <vector> +#include <set> +#include <map> +#include <mutex> + +#include <wrl/client.h> +#include <wrl/async.h> +#include <Windows.System.Threading.h> + +using namespace std; +using namespace Windows::Foundation; +using namespace ABI::Windows::System::Threading; + +// Thread local storage for Windows Store support +typedef vector<void*> ThreadLocalData; + +static __declspec(thread) ThreadLocalData* currentThreadData = nullptr; +static set<ThreadLocalData*> allThreadData; +static DWORD nextTlsIndex = 0; +static vector<DWORD> freeTlsIndices; + +#endif + TLSIndex CreateTLSIndex() { TLSIndex index; #ifdef ANGLE_PLATFORM_WINDOWS +#ifdef ANGLE_ENABLE_WINDOWS_STORE + if (!freeTlsIndices.empty()) + { + DWORD result = freeTlsIndices.back(); + freeTlsIndices.pop_back(); + index = result; + } + else + { + index = nextTlsIndex++; + } +#else index = TlsAlloc(); +#endif + #elif defined(ANGLE_PLATFORM_POSIX) // Create global pool key if ((pthread_key_create(&index, NULL)) != 0) @@ -37,7 +75,22 @@ bool DestroyTLSIndex(TLSIndex index) } #ifdef ANGLE_PLATFORM_WINDOWS +#ifdef ANGLE_ENABLE_WINDOWS_STORE + assert(index < nextTlsIndex); + assert(find(freeTlsIndices.begin(), freeTlsIndices.end(), index) == freeTlsIndices.end()); + + freeTlsIndices.push_back(index); + for (auto threadData : allThreadData) + { + if (threadData->size() > index) + { + threadData->at(index) = nullptr; + } + } + return true; +#else return (TlsFree(index) == TRUE); +#endif #elif defined(ANGLE_PLATFORM_POSIX) return (pthread_key_delete(index) == 0); #endif @@ -52,7 +105,24 @@ bool SetTLSValue(TLSIndex index, void *value) } #ifdef ANGLE_PLATFORM_WINDOWS +#ifdef ANGLE_ENABLE_WINDOWS_STORE + ThreadLocalData* threadData = currentThreadData; + if (!threadData) + { + threadData = new ThreadLocalData(index + 1, nullptr); + allThreadData.insert(threadData); + currentThreadData = threadData; + } + else if (threadData->size() <= index) + { + threadData->resize(index + 1, nullptr); + } + + threadData->at(index) = value; + return true; +#else return (TlsSetValue(index, value) == TRUE); +#endif #elif defined(ANGLE_PLATFORM_POSIX) return (pthread_setspecific(index, value) == 0); #endif @@ -67,7 +137,19 @@ void *GetTLSValue(TLSIndex index) } #ifdef ANGLE_PLATFORM_WINDOWS +#ifdef ANGLE_ENABLE_WINDOWS_STORE + ThreadLocalData* threadData = currentThreadData; + if (threadData && threadData->size() > index) + { + return threadData->at(index); + } + else + { + return nullptr; + } +#else return TlsGetValue(index); +#endif #elif defined(ANGLE_PLATFORM_POSIX) return pthread_getspecific(index); #endif diff --git a/src/common/tls.h b/src/common/tls.h index 4b25fbc5..8a06e92d 100644 --- a/src/common/tls.h +++ b/src/common/tls.h @@ -12,6 +12,14 @@ #include "common/platform.h" #ifdef ANGLE_PLATFORM_WINDOWS + +// TLS does not exist for Windows Store and needs to be emulated +# ifdef ANGLE_ENABLE_WINDOWS_STORE +# define TLS_OUT_OF_INDEXES -1 +# ifndef CREATE_SUSPENDED +# define CREATE_SUSPENDED 0x00000004 +# endif +# endif typedef DWORD TLSIndex; # define TLS_INVALID_INDEX (TLS_OUT_OF_INDEXES) #elif defined(ANGLE_PLATFORM_POSIX) @@ -24,6 +32,9 @@ # error Unsupported platform. #endif +// TODO(kbr): for POSIX platforms this will have to be changed to take +// in a destructor function pointer, to allow the thread-local storage +// to be properly deallocated upon thread exit. TLSIndex CreateTLSIndex(); bool DestroyTLSIndex(TLSIndex index); diff --git a/src/common/utilities.cpp b/src/common/utilities.cpp index 405f119c..d646585c 100644 --- a/src/common/utilities.cpp +++ b/src/common/utilities.cpp @@ -12,6 +12,13 @@ #include <set> +#if defined(ANGLE_ENABLE_WINDOWS_STORE) +# include <wrl.h> +# include <wrl/wrappers/corewrappers.h> +# include <windows.applicationmodel.core.h> +# include <windows.graphics.display.h> +#endif + namespace gl { @@ -442,22 +449,79 @@ int VariableSortOrder(GLenum type) std::string getTempPath() { #ifdef ANGLE_PLATFORM_WINDOWS - char path[MAX_PATH]; - DWORD pathLen = GetTempPathA(sizeof(path) / sizeof(path[0]), path); - if (pathLen == 0) - { - UNREACHABLE(); - return std::string(); - } + #if defined(ANGLE_ENABLE_WINDOWS_STORE) + + using namespace Microsoft::WRL; + using namespace Microsoft::WRL::Wrappers; + using namespace ABI::Windows::ApplicationModel::Core; + using namespace ABI::Windows::Foundation; + using namespace ABI::Windows::Foundation::Collections; + + ComPtr<IActivationFactory> pActivationFactory; + ComPtr<ABI::Windows::ApplicationModel::IPackageStatics> packageStatics; + ComPtr<ABI::Windows::ApplicationModel::IPackage> package; + ComPtr<ABI::Windows::Storage::IStorageFolder> storageFolder; + ComPtr<ABI::Windows::Storage::IStorageItem> storageItem; + HString hstrPath; + + HRESULT result = GetActivationFactory(HStringReference(RuntimeClass_Windows_ApplicationModel_Package).Get(), &pActivationFactory); + ASSERT(SUCCEEDED(result)); + if (SUCCEEDED(result)) + { + result = pActivationFactory.As(&packageStatics); + ASSERT(SUCCEEDED(result)); + } + + if (SUCCEEDED(result)) + { + result = packageStatics->get_Current(&package); + ASSERT(SUCCEEDED(result)); + } + + if (SUCCEEDED(result)) + { + result = package->get_InstalledLocation(&storageFolder); + ASSERT(SUCCEEDED(result)); + } + + if (SUCCEEDED(result)) + { + result = storageFolder.As(&storageItem); + ASSERT(SUCCEEDED(result)); + } + + if (SUCCEEDED(result)) + { + result = storageItem->get_Path(hstrPath.GetAddressOf()); + ASSERT(SUCCEEDED(result)); + } + + if (SUCCEEDED(result)) + { + std::wstring t = std::wstring(hstrPath.GetRawBuffer(nullptr)); + return std::string(t.begin(), t.end()); + } - UINT unique = GetTempFileNameA(path, "sh", 0, path); - if (unique == 0) - { UNREACHABLE(); return std::string(); - } + #else + char path[MAX_PATH]; + DWORD pathLen = GetTempPathA(sizeof(path) / sizeof(path[0]), path); + if (pathLen == 0) + { + UNREACHABLE(); + return std::string(); + } - return path; + UINT unique = GetTempFileNameA(path, "sh", 0, path); + if (unique == 0) + { + UNREACHABLE(); + return std::string(); + } + + return path; + #endif #else UNIMPLEMENTED(); return ""; @@ -476,3 +540,32 @@ void writeFile(const char* path, const void* content, size_t size) fwrite(content, sizeof(char), size, file); fclose(file); } + +#if defined(ANGLE_ENABLE_WINDOWS_STORE) + +void Sleep(unsigned long dwMilliseconds) +{ + static HANDLE singletonEvent = nullptr; + HANDLE sleepEvent = singletonEvent; + if (!sleepEvent) + { + sleepEvent = CreateEventEx(nullptr, nullptr, CREATE_EVENT_MANUAL_RESET, EVENT_ALL_ACCESS); + + if (!sleepEvent) + return; + + HANDLE previousEvent = InterlockedCompareExchangePointerRelease(&singletonEvent, sleepEvent, nullptr); + + if (previousEvent) + { + // Back out if multiple threads try to demand create at the same time. + CloseHandle(sleepEvent); + sleepEvent = previousEvent; + } + } + + // Emulate sleep by waiting with timeout on an event that is never signalled. + WaitForSingleObjectEx(sleepEvent, dwMilliseconds, false); +} + +#endif diff --git a/src/common/utilities.h b/src/common/utilities.h index a823184e..f7cc9983 100644 --- a/src/common/utilities.h +++ b/src/common/utilities.h @@ -49,4 +49,8 @@ template <typename outT> outT uiround(GLfloat value) { return static_cast<outT>( std::string getTempPath(); void writeFile(const char* path, const void* data, size_t size); +#if defined(ANGLE_ENABLE_WINDOWS_STORE) +void Sleep(_In_ unsigned long dwMilliseconds); +#endif + #endif // LIBGLESV2_UTILITIES_H diff --git a/src/common/win32/NativeWindow.cpp b/src/common/win32/NativeWindow.cpp new file mode 100644 index 00000000..f35e7f6e --- /dev/null +++ b/src/common/win32/NativeWindow.cpp @@ -0,0 +1,66 @@ +// +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// NativeWindow.cpp: Handler for managing HWND native window types. + +#include "common/NativeWindow.h" +#include "common/debug.h" + +bool isValidEGLNativeWindowType(EGLNativeWindowType window) +{ + return (IsWindow(window) == TRUE); +} + +namespace rx +{ +NativeWindow::NativeWindow(EGLNativeWindowType window) : mWindow(window) +{ +} + +bool NativeWindow::initialize() +{ + return true; +} + +bool NativeWindow::getClientRect(LPRECT rect) +{ + return GetClientRect(mWindow, rect) == TRUE; +} + +bool NativeWindow::isIconic() +{ + return IsIconic(mWindow) == TRUE; +} + +HRESULT NativeWindow::createSwapChain(ID3D11Device* device, DXGIFactory* factory, + DXGI_FORMAT format, unsigned int width, unsigned int height, + DXGISwapChain** swapChain) +{ + if (device == NULL || factory == NULL || swapChain == NULL || width == 0 || height == 0) + { + return E_INVALIDARG; + } + + DXGI_SWAP_CHAIN_DESC swapChainDesc = { 0 }; + swapChainDesc.BufferCount = 1; + swapChainDesc.BufferDesc.Format = format; + swapChainDesc.BufferDesc.Width = width; + swapChainDesc.BufferDesc.Height = height; + swapChainDesc.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED; + swapChainDesc.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED; + swapChainDesc.BufferDesc.RefreshRate.Numerator = 0; + swapChainDesc.BufferDesc.RefreshRate.Denominator = 1; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT | DXGI_USAGE_BACK_BUFFER; + swapChainDesc.Flags = 0; + swapChainDesc.OutputWindow = mWindow; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Windowed = TRUE; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; + + return factory->CreateSwapChain(device, &swapChainDesc, swapChain); +} +};
\ No newline at end of file diff --git a/src/common/winrt/CoreWindowNativeWindow.cpp b/src/common/winrt/CoreWindowNativeWindow.cpp new file mode 100644 index 00000000..e01e89ed --- /dev/null +++ b/src/common/winrt/CoreWindowNativeWindow.cpp @@ -0,0 +1,184 @@ +// +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// CoreWindowNativeWindow.cpp: NativeWindow for managing ICoreWindow native window types. + +#include <windows.graphics.display.h> +#include "common/winrt/CoreWindowNativeWindow.h" +using namespace ABI::Windows::Foundation::Collections; + +CoreWindowNativeWindow::~CoreWindowNativeWindow() +{ + unregisterForSizeChangeEvents(); +} + +bool CoreWindowNativeWindow::initialize(EGLNativeWindowType window, IPropertySet *propertySet) +{ + ComPtr<IPropertySet> props = propertySet; + ComPtr<IInspectable> win = window; + SIZE swapChainSize = {}; + bool swapChainSizeSpecified = false; + HRESULT result = S_OK; + + // IPropertySet is an optional parameter and can null. + // If one is specified, cache as an IMap and read the properties + // used for initial host initialization. + if (propertySet) + { + result = props.As(&mPropertyMap); + if (SUCCEEDED(result)) + { + // The EGLRenderSurfaceSizeProperty is optional and may be missing. The IPropertySet + // was prevalidated to contain the EGLNativeWindowType before being passed to + // this host. + result = getOptionalSizePropertyValue(mPropertyMap, EGLRenderSurfaceSizeProperty, &swapChainSize, &swapChainSizeSpecified); + } + } + + if (SUCCEEDED(result)) + { + result = win.As(&mCoreWindow); + } + + if (SUCCEEDED(result)) + { + // If a swapchain size is specfied, then the automatic resize + // behaviors implemented by the host should be disabled. The swapchain + // will be still be scaled when being rendered to fit the bounds + // of the host. + // Scaling of the swapchain output occurs automatically because if + // the scaling mode setting DXGI_SCALING_STRETCH on the swapchain. + if (swapChainSizeSpecified) + { + mClientRect = { 0, 0, swapChainSize.cx, swapChainSize.cy }; + mSupportsSwapChainResize = false; + } + else + { + result = getCoreWindowSizeInPixels(mCoreWindow, &mClientRect); + } + } + + if (SUCCEEDED(result)) + { + mNewClientRect = mClientRect; + mClientRectChanged = false; + return registerForSizeChangeEvents(); + } + + return false; +} + +bool CoreWindowNativeWindow::registerForSizeChangeEvents() +{ + ComPtr<IWindowSizeChangedEventHandler> sizeChangedHandler; + HRESULT result = Microsoft::WRL::MakeAndInitialize<CoreWindowSizeChangedHandler>(sizeChangedHandler.ReleaseAndGetAddressOf(), this->shared_from_this()); + if (SUCCEEDED(result)) + { + result = mCoreWindow->add_SizeChanged(sizeChangedHandler.Get(), &mSizeChangedEventToken); + } + + if (SUCCEEDED(result)) + { + return true; + } + + return false; +} + +void CoreWindowNativeWindow::unregisterForSizeChangeEvents() +{ + if (mCoreWindow) + { + (void)mCoreWindow->remove_SizeChanged(mSizeChangedEventToken); + } + mSizeChangedEventToken.value = 0; +} + +HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, DXGIFactory *factory, DXGI_FORMAT format, unsigned int width, unsigned int height, DXGISwapChain **swapChain) +{ + if (device == NULL || factory == NULL || swapChain == NULL || width == 0 || height == 0) + { + return E_INVALIDARG; + } + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = { 0 }; + swapChainDesc.Width = width; + swapChainDesc.Height = height; + swapChainDesc.Format = format; + swapChainDesc.Stereo = FALSE; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT | DXGI_USAGE_BACK_BUFFER; + swapChainDesc.BufferCount = 2; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL; + swapChainDesc.Scaling = DXGI_SCALING_STRETCH; + + *swapChain = nullptr; + + ComPtr<IDXGISwapChain1> newSwapChain; + HRESULT result = factory->CreateSwapChainForCoreWindow(device, mCoreWindow.Get(), &swapChainDesc, nullptr, newSwapChain.ReleaseAndGetAddressOf()); + if (SUCCEEDED(result)) + { + +#if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) + // Test if swapchain supports resize. On Windows Phone devices, this will return DXGI_ERROR_UNSUPPORTED. On + // other devices DXGI_ERROR_INVALID_CALL should be returned because the combination of flags passed + // (DXGI_SWAP_CHAIN_FLAG_NONPREROTATED | DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE) are invalid flag combinations. + if (newSwapChain->ResizeBuffers(swapChainDesc.BufferCount, swapChainDesc.Width, swapChainDesc.Height, swapChainDesc.Format, DXGI_SWAP_CHAIN_FLAG_NONPREROTATED | DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE) == DXGI_ERROR_UNSUPPORTED) + { + mSupportsSwapChainResize = false; + } +#endif // (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) + + result = newSwapChain.CopyTo(swapChain); + } + + if (SUCCEEDED(result)) + { + // If automatic swapchain resize behaviors have been disabled, then + // unregister for the resize change events. + if (mSupportsSwapChainResize == false) + { + unregisterForSizeChangeEvents(); + } + } + + return result; +} + +HRESULT getCoreWindowSizeInPixels(const ComPtr<ABI::Windows::UI::Core::ICoreWindow>& coreWindow, RECT *windowSize) +{ + ABI::Windows::Foundation::Rect bounds; + HRESULT result = coreWindow->get_Bounds(&bounds); + if (SUCCEEDED(result)) + { + *windowSize = { 0, 0, ConvertDipsToPixels(bounds.Width), ConvertDipsToPixels(bounds.Height) }; + } + + return result; +} + +static float GetLogicalDpi() +{ + ComPtr<ABI::Windows::Graphics::Display::IDisplayPropertiesStatics> displayProperties; + float dpi = 96.0f; + + if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), displayProperties.GetAddressOf()))) + { + if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) + { + return dpi; + } + } + return dpi; +} + +long ConvertDipsToPixels(float dips) +{ + static const float dipsPerInch = 96.0f; + return lround((dips * GetLogicalDpi() / dipsPerInch)); +}
\ No newline at end of file diff --git a/src/common/winrt/CoreWindowNativeWindow.h b/src/common/winrt/CoreWindowNativeWindow.h new file mode 100644 index 00000000..09f8a737 --- /dev/null +++ b/src/common/winrt/CoreWindowNativeWindow.h @@ -0,0 +1,71 @@ +// +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// CoreWindowNativeWindow.h: NativeWindow for managing ICoreWindow native window types. + +#ifndef COMMON_COREWINDOWNATIVEWINDOW_H_ +#define COMMON_COREWINDOWNATIVEWINDOW_H_ + +#include "common/winrt/IInspectableNativeWindow.h" +#include <memory> + +typedef ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CWindowSizeChangedEventArgs_t IWindowSizeChangedEventHandler; +long ConvertDipsToPixels(float dips); + +class CoreWindowNativeWindow : public IInspectableNativeWindow, public std::enable_shared_from_this<CoreWindowNativeWindow> +{ + public: + ~CoreWindowNativeWindow(); + bool initialize(EGLNativeWindowType window, IPropertySet *propertySet); + bool registerForSizeChangeEvents(); + void unregisterForSizeChangeEvents(); + HRESULT createSwapChain(ID3D11Device *device, DXGIFactory *factory, DXGI_FORMAT format, unsigned int width, unsigned int height, DXGISwapChain **swapChain); + private: + ComPtr<ABI::Windows::UI::Core::ICoreWindow> mCoreWindow; + ComPtr<IMap<HSTRING, IInspectable*>> mPropertyMap; +}; + +[uuid(7F924F66-EBAE-40E5-A10B-B8F35E245190)] +class CoreWindowSizeChangedHandler : + public Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>, IWindowSizeChangedEventHandler> +{ + public: + CoreWindowSizeChangedHandler() { } + HRESULT RuntimeClassInitialize(std::shared_ptr<IInspectableNativeWindow> host) + { + if (!host) + { + return E_INVALIDARG; + } + + mHost = host; + return S_OK; + } + + // IWindowSizeChangedEventHandler + IFACEMETHOD(Invoke)(ABI::Windows::UI::Core::ICoreWindow *sender, ABI::Windows::UI::Core::IWindowSizeChangedEventArgs *e) + { + std::shared_ptr<IInspectableNativeWindow> host = mHost.lock(); + if (host) + { + ABI::Windows::Foundation::Size windowSize; + if (SUCCEEDED(e->get_Size(&windowSize))) + { + SIZE windowSizeInPixels = { ConvertDipsToPixels(windowSize.Width), ConvertDipsToPixels(windowSize.Height) }; + host->setNewClientSize(windowSizeInPixels); + } + } + + return S_OK; + } + + private: + std::weak_ptr<IInspectableNativeWindow> mHost; +}; + +HRESULT getCoreWindowSizeInPixels(const ComPtr<ABI::Windows::UI::Core::ICoreWindow>& coreWindow, RECT *windowSize); + +#endif // COMMON_COREWINDOWNATIVEWINDOW_H_ diff --git a/src/common/winrt/IInspectableNativeWindow.cpp b/src/common/winrt/IInspectableNativeWindow.cpp new file mode 100644 index 00000000..ce48c25b --- /dev/null +++ b/src/common/winrt/IInspectableNativeWindow.cpp @@ -0,0 +1,245 @@ +// +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// iinspectablehost.cpp: NativeWindow base class for managing IInspectable native window types. + +#include "common/winrt/CoreWindowNativeWindow.h" + +namespace rx +{ +NativeWindow::NativeWindow(EGLNativeWindowType window) +{ + mWindow = window; +} + +bool NativeWindow::initialize() +{ + // If the native window type is a IPropertySet, extract the + // EGLNativeWindowType (IInspectable) and initialize the + // proper host with this IPropertySet. + ComPtr<ABI::Windows::Foundation::Collections::IPropertySet> propertySet; + ComPtr<IInspectable> eglNativeWindow; + if (isEGLConfiguredPropertySet(mWindow, &propertySet, &eglNativeWindow)) + { + // A property set was found and the EGLNativeWindowType was + // retrieved. The mWindow member of the host to must be updated + // to use the EGLNativeWindowType specified in the property set. + // mWindow is treated as a raw pointer not an AddRef'd interface, so + // the old mWindow does not need a Release() before this assignment. + mWindow = eglNativeWindow.Get(); + } + + // If the native window is a ICoreWindow, initialize a CoreWindowNativeWindow + ComPtr<ABI::Windows::UI::Core::ICoreWindow> coreWindow; + if (isCoreWindow(mWindow, &coreWindow)) + { + mImpl = std::make_shared<CoreWindowNativeWindow>(); + if (mImpl) + { + return mImpl->initialize(mWindow, propertySet.Get()); + } + } + else + { + ERR("Invalid IInspectable EGLNativeWindowType detected. Valid IInspectables include ICoreWindow and IPropertySet"); + } + + return false; +} + +bool NativeWindow::getClientRect(RECT *rect) +{ + if (mImpl) + { + return mImpl->getClientRect(rect); + } + + return false; +} + +bool NativeWindow::isIconic() +{ + return false; +} + +HRESULT NativeWindow::createSwapChain(ID3D11Device *device, DXGIFactory *factory, DXGI_FORMAT format, unsigned int width, unsigned int height, DXGISwapChain **swapChain) +{ + if (mImpl) + { + return mImpl->createSwapChain(device, factory, format, width, height, swapChain); + } + + return E_UNEXPECTED; +} + +} + +bool isCoreWindow(EGLNativeWindowType window, ComPtr<ABI::Windows::UI::Core::ICoreWindow> *coreWindow) +{ + if (!window) + { + return false; + } + + ComPtr<IInspectable> win = window; + ComPtr<ABI::Windows::UI::Core::ICoreWindow> coreWin; + if (SUCCEEDED(win.As(&coreWin))) + { + if (coreWindow != nullptr) + { + *coreWindow = coreWin.Detach(); + } + return true; + } + + return false; +} + +bool isEGLConfiguredPropertySet(EGLNativeWindowType window, ABI::Windows::Foundation::Collections::IPropertySet **propertySet, IInspectable **eglNativeWindow) +{ + if (!window) + { + return false; + } + + ComPtr<IInspectable> props = window; + ComPtr<IPropertySet> propSet; + ComPtr<IInspectable> nativeWindow; + ComPtr<ABI::Windows::Foundation::Collections::IMap<HSTRING, IInspectable*>> propMap; + boolean hasEglNativeWindowPropertyKey = false; + + HRESULT result = props.As(&propSet); + if (SUCCEEDED(result)) + { + result = propSet.As(&propMap); + } + + // Look for the presence of the EGLNativeWindowType in the property set + if (SUCCEEDED(result)) + { + result = propMap->HasKey(HStringReference(EGLNativeWindowTypeProperty).Get(), &hasEglNativeWindowPropertyKey); + } + + // If the IPropertySet does not contain the required EglNativeWindowType key, the property set is + // considered invalid. + if (SUCCEEDED(result) && !hasEglNativeWindowPropertyKey) + { + ERR("Could not find EGLNativeWindowTypeProperty in IPropertySet. Valid EGLNativeWindowTypeProperty values include ICoreWindow"); + return false; + } + + // The EglNativeWindowType property exists, so retreive the IInspectable that represents the EGLNativeWindowType + if (SUCCEEDED(result) && hasEglNativeWindowPropertyKey) + { + result = propMap->Lookup(HStringReference(EGLNativeWindowTypeProperty).Get(), &nativeWindow); + } + + if (SUCCEEDED(result)) + { + if (propertySet != nullptr) + { + result = propSet.CopyTo(propertySet); + } + } + + if (SUCCEEDED(result)) + { + if (eglNativeWindow != nullptr) + { + result = nativeWindow.CopyTo(eglNativeWindow); + } + } + + if (SUCCEEDED(result)) + { + return true; + } + + return false; +} + +// A Valid EGLNativeWindowType IInspectable can only be: +// +// ICoreWindow +// IPropertySet +// +// Anything else will be rejected as an invalid IInspectable. +bool isValidEGLNativeWindowType(EGLNativeWindowType window) +{ + return isCoreWindow(window) || isEGLConfiguredPropertySet(window); +} + +// Attempts to read an optional SIZE property value that is assumed to be in the form of +// an ABI::Windows::Foundation::Size. This function validates the Size value before returning +// it to the caller. +// +// Possible return values are: +// S_OK, valueExists == true - optional SIZE value was successfully retrieved and validated +// S_OK, valueExists == false - optional SIZE value was not found +// E_INVALIDARG, valueExists = false - optional SIZE value was malformed in the property set. +// * Incorrect property type ( must be PropertyType_Size) +// * Invalid property value (width/height must be > 0) +// Additional errors may be returned from IMap or IPropertyValue +// +HRESULT getOptionalSizePropertyValue(const ComPtr<ABI::Windows::Foundation::Collections::IMap<HSTRING, IInspectable*>>& propertyMap, const wchar_t *propertyName, SIZE *value, bool *valueExists) +{ + if (!propertyMap || !propertyName || !value || !valueExists) + { + return false; + } + + // Assume that the value does not exist + *valueExists = false; + *value = { 0, 0 }; + + ComPtr<ABI::Windows::Foundation::IPropertyValue> propertyValue; + ABI::Windows::Foundation::PropertyType propertyType = ABI::Windows::Foundation::PropertyType::PropertyType_Empty; + Size sizeValue = { 0, 0 }; + boolean hasKey = false; + + HRESULT result = propertyMap->HasKey(HStringReference(propertyName).Get(), &hasKey); + if (SUCCEEDED(result) && !hasKey) + { + // Value does not exist, so return S_OK and set the exists parameter to false to indicate + // that a the optional property does not exist. + *valueExists = false; + return S_OK; + } + + if (SUCCEEDED(result)) + { + result = propertyMap->Lookup(HStringReference(propertyName).Get(), &propertyValue); + } + + if (SUCCEEDED(result)) + { + result = propertyValue->get_Type(&propertyType); + } + + // Check if the expected Size property is of PropertyType_Size type. + if (SUCCEEDED(result) && propertyType == ABI::Windows::Foundation::PropertyType::PropertyType_Size) + { + if (SUCCEEDED(propertyValue->GetSize(&sizeValue)) && (sizeValue.Width > 0 && sizeValue.Height > 0)) + { + // A valid property value exists + *value = { static_cast<long>(sizeValue.Width), static_cast<long>(sizeValue.Height) }; + *valueExists = true; + result = S_OK; + } + else + { + // An invalid Size property was detected. Width/Height values must > 0 + result = E_INVALIDARG; + } + } + else + { + // An invalid property type was detected. Size property must be of PropertyType_Size + result = E_INVALIDARG; + } + + return result; +}
\ No newline at end of file diff --git a/src/common/winrt/IInspectableNativeWindow.h b/src/common/winrt/IInspectableNativeWindow.h new file mode 100644 index 00000000..07009752 --- /dev/null +++ b/src/common/winrt/IInspectableNativeWindow.h @@ -0,0 +1,86 @@ +// +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// IInspectableNativeWindow.h: Host specific implementation interface for +// managing IInspectable native window types. + +#ifndef COMMON_IINSPECTABLENATIVEWINDOW_H_ +#define COMMON_IINSPECTABLENATIVEWINDOW_H_ + +#include "common/platform.h" +#include "common/NativeWindow.h" +#include "angle_windowsstore.h" + +#include <windows.ui.xaml.h> +#include <windows.ui.xaml.media.dxinterop.h> + +using namespace Microsoft::WRL; +using namespace Microsoft::WRL::Wrappers; +using namespace ABI::Windows::Foundation; +using namespace ABI::Windows::Foundation::Collections; + +class IInspectableNativeWindow +{ + public: + virtual bool initialize(EGLNativeWindowType window, IPropertySet *propertySet) = 0; + virtual HRESULT createSwapChain(ID3D11Device *device, DXGIFactory *factory, DXGI_FORMAT format, unsigned int width, unsigned int height, DXGISwapChain **swapChain) = 0; + virtual bool registerForSizeChangeEvents() = 0; + virtual void unregisterForSizeChangeEvents() = 0; + virtual HRESULT scaleSwapChain(const SIZE& newSize) { return S_OK; } + + IInspectableNativeWindow() : + mSupportsSwapChainResize(true), + mRequiresSwapChainScaling(false), + mClientRectChanged(false), + mClientRect({0,0,0,0}), + mNewClientRect({0,0,0,0}) + { + mSizeChangedEventToken.value = 0; + } + + virtual ~IInspectableNativeWindow(){} + + bool getClientRect(RECT *rect) + { + if (mClientRectChanged && mSupportsSwapChainResize) + { + mClientRect = mNewClientRect; + } + + *rect = mClientRect; + + return true; + } + + void setNewClientSize(const SIZE &newSize) + { + if (mSupportsSwapChainResize && !mRequiresSwapChainScaling) + { + mNewClientRect = { 0, 0, newSize.cx, newSize.cy }; + mClientRectChanged = true; + } + + if (mRequiresSwapChainScaling) + { + scaleSwapChain(newSize); + } + } + +protected: + bool mSupportsSwapChainResize; + bool mRequiresSwapChainScaling; + RECT mClientRect; + RECT mNewClientRect; + bool mClientRectChanged; + + EventRegistrationToken mSizeChangedEventToken; +}; + +bool isCoreWindow(EGLNativeWindowType window, ComPtr<ABI::Windows::UI::Core::ICoreWindow> *coreWindow = nullptr); +bool isEGLConfiguredPropertySet(EGLNativeWindowType window, ABI::Windows::Foundation::Collections::IPropertySet **propertySet = nullptr, IInspectable **inspectable = nullptr); +HRESULT getOptionalSizePropertyValue(const ComPtr<ABI::Windows::Foundation::Collections::IMap<HSTRING, IInspectable*>>& propertyMap, const wchar_t *propertyName, SIZE *value, bool *valueExists); + +#endif // COMMON_IINSPECTABLENATIVEWINDOW_H_ diff --git a/src/compiler.gypi b/src/compiler.gypi index dadc4ca9..b8a1d4d0 100644 --- a/src/compiler.gypi +++ b/src/compiler.gypi @@ -24,6 +24,7 @@ 'common/RefCountObject.cpp', 'common/RefCountObject.h', 'common/angleutils.h', + 'common/angleutils.cpp', 'common/blocklayout.cpp', 'common/blocklayout.h', 'common/debug.cpp', @@ -204,6 +205,17 @@ 'type': 'static_library', 'includes': [ '../build/common_defines.gypi', ], 'sources': [ '<@(angle_preprocessor_sources)', ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], }, { 'target_name': 'translator_lib', @@ -232,6 +244,17 @@ 'AdditionalOptions': ['/ignore:4221'] }, }, + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], }, { @@ -253,6 +276,17 @@ 'compiler/translator/ShaderLang.cpp', 'compiler/translator/ShaderVars.cpp' ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], }, { @@ -281,6 +315,17 @@ 'compiler/translator/ShaderLang.cpp', 'compiler/translator/ShaderVars.cpp' ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], }, ], } diff --git a/src/compiler/preprocessor/DirectiveHandlerBase.h b/src/compiler/preprocessor/DirectiveHandlerBase.h index 040b25c6..eec0d5e5 100644 --- a/src/compiler/preprocessor/DirectiveHandlerBase.h +++ b/src/compiler/preprocessor/DirectiveHandlerBase.h @@ -29,7 +29,8 @@ class DirectiveHandler // Handle pragma of form: #pragma name[(value)] virtual void handlePragma(const SourceLocation &loc, const std::string &name, - const std::string &value) = 0; + const std::string &value, + bool stdgl) = 0; virtual void handleExtension(const SourceLocation &loc, const std::string &name, diff --git a/src/compiler/preprocessor/DirectiveParser.cpp b/src/compiler/preprocessor/DirectiveParser.cpp index 6434d5cb..e455c363 100644 --- a/src/compiler/preprocessor/DirectiveParser.cpp +++ b/src/compiler/preprocessor/DirectiveParser.cpp @@ -592,6 +592,11 @@ void DirectiveParser::parsePragma(Token *token) int state = PRAGMA_NAME; mTokenizer->lex(token); + bool stdgl = token->text == "STDGL"; + if (stdgl) + { + mTokenizer->lex(token); + } while ((token->type != '\n') && (token->type != Token::LAST)) { switch(state++) @@ -627,7 +632,7 @@ void DirectiveParser::parsePragma(Token *token) } else if (state > PRAGMA_NAME) // Do not notify for empty pragma. { - mDirectiveHandler->handlePragma(token->location, name, value); + mDirectiveHandler->handlePragma(token->location, name, value, stdgl); } } diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp index 368cd2ae..28240640 100644 --- a/src/compiler/translator/Compiler.cpp +++ b/src/compiler/translator/Compiler.cpp @@ -181,6 +181,12 @@ bool TCompiler::compile(const char* const shaderStrings[], if (success) { + mPragma = parseContext.pragma(); + if (mPragma.stdgl.invariantAll) + { + symbolTable.setGlobalInvariant(); + } + TIntermNode* root = parseContext.treeRoot; success = intermediate.postProcess(root); @@ -360,7 +366,8 @@ void TCompiler::setResourceString() << ":MaxVertexOutputVectors:" << compileResources.MaxVertexOutputVectors << ":MaxFragmentInputVectors:" << compileResources.MaxFragmentInputVectors << ":MinProgramTexelOffset:" << compileResources.MinProgramTexelOffset - << ":MaxProgramTexelOffset:" << compileResources.MaxProgramTexelOffset; + << ":MaxProgramTexelOffset:" << compileResources.MaxProgramTexelOffset + << ":NV_draw_buffers:" << compileResources.NV_draw_buffers; builtInResourcesString = strstream.str(); } @@ -507,7 +514,8 @@ void TCompiler::collectVariables(TIntermNode* root) &uniforms, &varyings, &interfaceBlocks, - hashFunction); + hashFunction, + symbolTable); root->traverse(&collect); // For backwards compatiblity with ShGetVariableInfo, expand struct @@ -581,3 +589,10 @@ const BuiltInFunctionEmulator& TCompiler::getBuiltInFunctionEmulator() const { return builtInFunctionEmulator; } + +void TCompiler::writePragma() +{ + TInfoSinkBase &sink = infoSink.obj; + if (mPragma.stdgl.invariantAll) + sink << "#pragma STDGL invariant(all)\n"; +} diff --git a/src/compiler/translator/Compiler.h b/src/compiler/translator/Compiler.h index ca0c1578..6d1e2257 100644 --- a/src/compiler/translator/Compiler.h +++ b/src/compiler/translator/Compiler.h @@ -18,6 +18,7 @@ #include "compiler/translator/ExtensionBehavior.h" #include "compiler/translator/HashNames.h" #include "compiler/translator/InfoSink.h" +#include "compiler/translator/Pragma.h" #include "compiler/translator/SymbolTable.h" #include "compiler/translator/VariableInfo.h" #include "third_party/compiler/ArrayBoundsClamper.h" @@ -131,6 +132,8 @@ class TCompiler : public TShHandleBase bool limitExpressionComplexity(TIntermNode* root); // Get built-in extensions with default behavior. const TExtensionBehavior& getExtensionBehavior() const; + const TPragma& getPragma() const { return mPragma; } + void writePragma(); const ArrayBoundsClamper& getArrayBoundsClamper() const; ShArrayIndexClampingStrategy getArrayIndexClampingStrategy() const; @@ -174,6 +177,8 @@ class TCompiler : public TShHandleBase // name hashing. ShHashFunction64 hashFunction; NameMap nameMap; + + TPragma mPragma; }; // diff --git a/src/compiler/translator/DirectiveHandler.cpp b/src/compiler/translator/DirectiveHandler.cpp index 59d2835f..f67a03aa 100644 --- a/src/compiler/translator/DirectiveHandler.cpp +++ b/src/compiler/translator/DirectiveHandler.cpp @@ -13,10 +13,10 @@ static TBehavior getBehavior(const std::string& str) { - static const std::string kRequire("require"); - static const std::string kEnable("enable"); - static const std::string kDisable("disable"); - static const std::string kWarn("warn"); + const char kRequire[] = "require"; + const char kEnable[] = "enable"; + const char kDisable[] = "disable"; + const char kWarn[] = "warn"; if (str == kRequire) return EBhRequire; else if (str == kEnable) return EBhEnable; @@ -46,50 +46,61 @@ void TDirectiveHandler::handleError(const pp::SourceLocation& loc, void TDirectiveHandler::handlePragma(const pp::SourceLocation& loc, const std::string& name, - const std::string& value) + const std::string& value, + bool stdgl) { - static const std::string kSTDGL("STDGL"); - static const std::string kOptimize("optimize"); - static const std::string kDebug("debug"); - static const std::string kOn("on"); - static const std::string kOff("off"); - - bool invalidValue = false; - if (name == kSTDGL) + if (stdgl) { + const char kInvariant[] = "invariant"; + const char kAll[] = "all"; + + if (name == kInvariant && value == kAll) + mPragma.stdgl.invariantAll = true; // The STDGL pragma is used to reserve pragmas for use by future - // revisions of GLSL. Ignore it. + // revisions of GLSL. Do not generate an error on unexpected + // name and value. return; } - else if (name == kOptimize) - { - if (value == kOn) mPragma.optimize = true; - else if (value == kOff) mPragma.optimize = false; - else invalidValue = true; - } - else if (name == kDebug) - { - if (value == kOn) mPragma.debug = true; - else if (value == kOff) mPragma.debug = false; - else invalidValue = true; - } else { - mDiagnostics.report(pp::Diagnostics::PP_UNRECOGNIZED_PRAGMA, loc, name); - return; - } + const char kOptimize[] = "optimize"; + const char kDebug[] = "debug"; + const char kOn[] = "on"; + const char kOff[] = "off"; - if (invalidValue) - mDiagnostics.writeInfo(pp::Diagnostics::PP_ERROR, loc, - "invalid pragma value", value, - "'on' or 'off' expected"); + bool invalidValue = false; + if (name == kOptimize) + { + if (value == kOn) mPragma.optimize = true; + else if (value == kOff) mPragma.optimize = false; + else invalidValue = true; + } + else if (name == kDebug) + { + if (value == kOn) mPragma.debug = true; + else if (value == kOff) mPragma.debug = false; + else invalidValue = true; + } + else + { + mDiagnostics.report(pp::Diagnostics::PP_UNRECOGNIZED_PRAGMA, loc, name); + return; + } + + if (invalidValue) + { + mDiagnostics.writeInfo(pp::Diagnostics::PP_ERROR, loc, + "invalid pragma value", value, + "'on' or 'off' expected"); + } + } } void TDirectiveHandler::handleExtension(const pp::SourceLocation& loc, const std::string& name, const std::string& behavior) { - static const std::string kExtAll("all"); + const char kExtAll[] = "all"; TBehavior behaviorVal = getBehavior(behavior); if (behaviorVal == EBhUndefined) diff --git a/src/compiler/translator/DirectiveHandler.h b/src/compiler/translator/DirectiveHandler.h index 69418c27..0433c3bf 100644 --- a/src/compiler/translator/DirectiveHandler.h +++ b/src/compiler/translator/DirectiveHandler.h @@ -29,7 +29,8 @@ class TDirectiveHandler : public pp::DirectiveHandler virtual void handlePragma(const pp::SourceLocation& loc, const std::string& name, - const std::string& value); + const std::string& value, + bool stdgl); virtual void handleExtension(const pp::SourceLocation& loc, const std::string& name, diff --git a/src/compiler/translator/IntermNode.cpp b/src/compiler/translator/IntermNode.cpp index b155545a..bf8649c2 100644 --- a/src/compiler/translator/IntermNode.cpp +++ b/src/compiler/translator/IntermNode.cpp @@ -336,6 +336,7 @@ bool TIntermUnary::promote(TInfoSink &) return false; break; case EOpNegative: + case EOpPositive: case EOpPostIncrement: case EOpPostDecrement: case EOpPreIncrement: @@ -1068,6 +1069,27 @@ TIntermTyped *TIntermConstantUnion::fold( } break; + case EOpPositive: + switch (getType().getBasicType()) + { + case EbtFloat: + tempConstArray[i].setFConst(unionArray[i].getFConst()); + break; + case EbtInt: + tempConstArray[i].setIConst(unionArray[i].getIConst()); + break; + case EbtUInt: + tempConstArray[i].setUConst(static_cast<unsigned int>( + static_cast<int>(unionArray[i].getUConst()))); + break; + default: + infoSink.info.message( + EPrefixInternalError, getLine(), + "Unary operation not folded into constant"); + return NULL; + } + break; + case EOpLogicalNot: // this code is written for possible future use, // will not get executed currently diff --git a/src/compiler/translator/IntermNode.h b/src/compiler/translator/IntermNode.h index ec440da0..0f2fec52 100644 --- a/src/compiler/translator/IntermNode.h +++ b/src/compiler/translator/IntermNode.h @@ -45,6 +45,7 @@ enum TOperator // EOpNegative, + EOpPositive, EOpLogicalNot, EOpVectorLogicalNot, diff --git a/src/compiler/translator/Intermediate.cpp b/src/compiler/translator/Intermediate.cpp index ef4f8330..e558683c 100644 --- a/src/compiler/translator/Intermediate.cpp +++ b/src/compiler/translator/Intermediate.cpp @@ -198,6 +198,7 @@ TIntermTyped *TIntermediate::addUnaryMath( case EOpPostDecrement: case EOpPreDecrement: case EOpNegative: + case EOpPositive: if (child->getType().getBasicType() == EbtStruct || child->getType().isArray()) { diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp index 6d07cccc..5f5e0582 100644 --- a/src/compiler/translator/OutputGLSLBase.cpp +++ b/src/compiler/translator/OutputGLSLBase.cpp @@ -395,6 +395,7 @@ bool TOutputGLSLBase::visitUnary(Visit visit, TIntermUnary *node) switch (node->getOp()) { case EOpNegative: preString = "(-"; break; + case EOpPositive: preString = "(+"; break; case EOpVectorLogicalNot: preString = "not("; break; case EOpLogicalNot: preString = "(!"; break; @@ -649,17 +650,18 @@ bool TOutputGLSLBase::visitAggregate(Visit visit, TIntermAggregate *node) mDeclaringVariables = false; } break; - case EOpInvariantDeclaration: { - // Invariant declaration. - ASSERT(visit == PreVisit); + case EOpInvariantDeclaration: + // Invariant declaration. + ASSERT(visit == PreVisit); + { const TIntermSequence *sequence = node->getSequence(); ASSERT(sequence && sequence->size() == 1); const TIntermSymbol *symbol = sequence->front()->getAsSymbolNode(); ASSERT(symbol); - out << "invariant " << symbol->getSymbol() << ";"; - visitChildren = false; - break; + out << "invariant " << hashVariableName(symbol->getSymbol()) << ";"; } + visitChildren = false; + break; case EOpConstructFloat: writeTriplet(visit, "float(", NULL, ")"); break; diff --git a/src/compiler/translator/OutputHLSL.cpp b/src/compiler/translator/OutputHLSL.cpp index a5ea7159..277bea42 100644 --- a/src/compiler/translator/OutputHLSL.cpp +++ b/src/compiler/translator/OutputHLSL.cpp @@ -320,14 +320,22 @@ void OutputHLSL::header() if (mUsesDiscardRewriting) { - out << "#define ANGLE_USES_DISCARD_REWRITING" << "\n"; + out << "#define ANGLE_USES_DISCARD_REWRITING\n"; } if (mUsesNestedBreak) { - out << "#define ANGLE_USES_NESTED_BREAK" << "\n"; + out << "#define ANGLE_USES_NESTED_BREAK\n"; } + out << "#ifdef ANGLE_ENABLE_LOOP_FLATTEN\n" + "#define LOOP [loop]\n" + "#define FLATTEN [flatten]\n" + "#else\n" + "#define LOOP\n" + "#define FLATTEN\n" + "#endif\n"; + if (mContext.shaderType == GL_FRAGMENT_SHADER) { TExtensionBehavior::const_iterator iter = mContext.extensionBehavior().find("GL_EXT_draw_buffers"); @@ -1747,6 +1755,7 @@ bool OutputHLSL::visitUnary(Visit visit, TIntermUnary *node) switch (node->getOp()) { case EOpNegative: outputTriplet(visit, "(-", "", ")"); break; + case EOpPositive: outputTriplet(visit, "(+", "", ")"); break; case EOpVectorLogicalNot: outputTriplet(visit, "(!", "", ")"); break; case EOpLogicalNot: outputTriplet(visit, "(!", "", ")"); break; case EOpPostIncrement: outputTriplet(visit, "(", "", "++)"); break; @@ -1860,15 +1869,20 @@ bool OutputHLSL::visitAggregate(Visit visit, TIntermAggregate *node) if (!variable->getAsSymbolNode() || variable->getAsSymbolNode()->getSymbol() != "") // Variable declaration { - if (!mInsideFunction) + for (TIntermSequence::iterator sit = sequence->begin(); sit != sequence->end(); sit++) { - out << "static "; - } + if (isSingleStatement(*sit)) + { + mUnfoldShortCircuit->traverse(*sit); + } - out << TypeString(variable->getType()) + " "; + if (!mInsideFunction) + { + out << "static "; + } + + out << TypeString(variable->getType()) + " "; - for (TIntermSequence::iterator sit = sequence->begin(); sit != sequence->end(); sit++) - { TIntermSymbol *symbol = (*sit)->getAsSymbolNode(); if (symbol) @@ -1884,7 +1898,7 @@ bool OutputHLSL::visitAggregate(Visit visit, TIntermAggregate *node) if (*sit != sequence->back()) { - out << ", "; + out << ";\n"; } } } @@ -2287,7 +2301,7 @@ bool OutputHLSL::visitSelection(Visit visit, TIntermSelection *node) { mUnfoldShortCircuit->traverse(node->getCondition()); - out << "if ("; + out << "FLATTEN if ("; node->getCondition()->traverse(this); @@ -2367,14 +2381,14 @@ bool OutputHLSL::visitLoop(Visit visit, TIntermLoop *node) if (node->getType() == ELoopDoWhile) { - out << "{do\n"; + out << "{LOOP do\n"; outputLineDirective(node->getLine().first_line); out << "{\n"; } else { - out << "{for("; + out << "{LOOP for("; if (node->getInit()) { @@ -2503,6 +2517,12 @@ bool OutputHLSL::isSingleStatement(TIntermNode *node) { return false; } + else if (aggregate->getOp() == EOpDeclaration) + { + // Declaring multiple comma-separated variables must be considered multiple statements + // because each individual declaration has side effects which are visible in the next. + return false; + } else { for (TIntermSequence::iterator sit = aggregate->getSequence()->begin(); sit != aggregate->getSequence()->end(); sit++) @@ -2675,7 +2695,7 @@ bool OutputHLSL::handleExcessiveLoop(TIntermLoop *node) // for(int index = initial; index < clampedLimit; index += increment) - out << "for("; + out << "LOOP for("; index->traverse(this); out << " = "; out << initial; diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp index ff0a4966..37969b54 100644 --- a/src/compiler/translator/ParseContext.cpp +++ b/src/compiler/translator/ParseContext.cpp @@ -1004,12 +1004,12 @@ void TParseContext::handleExtensionDirective(const TSourceLoc& loc, const char* directiveHandler.handleExtension(srcLoc, extName, behavior); } -void TParseContext::handlePragmaDirective(const TSourceLoc& loc, const char* name, const char* value) +void TParseContext::handlePragmaDirective(const TSourceLoc& loc, const char* name, const char* value, bool stdgl) { pp::SourceLocation srcLoc; srcLoc.file = loc.first_file; srcLoc.line = loc.first_line; - directiveHandler.handlePragma(srcLoc, name, value); + directiveHandler.handlePragma(srcLoc, name, value, stdgl); } ///////////////////////////////////////////////////////////////////////////////// @@ -1364,11 +1364,18 @@ TIntermAggregate* TParseContext::parseInvariantDeclaration(const TSourceLoc &inv { error(identifierLoc, "undeclared identifier declared as invariant", identifier->c_str()); recover(); - return NULL; } else { + const TString kGlFrontFacing("gl_FrontFacing"); + if (*identifier == kGlFrontFacing) + { + error(identifierLoc, "identifier should not be declared as invariant", identifier->c_str()); + recover(); + return NULL; + } + symbolTable.addInvariantVarying(*identifier); const TVariable *variable = getNamedVariable(identifierLoc, identifier, symbol); ASSERT(variable); const TType &type = variable->getType(); diff --git a/src/compiler/translator/ParseContext.h b/src/compiler/translator/ParseContext.h index 1f4cbdeb..414c475c 100644 --- a/src/compiler/translator/ParseContext.h +++ b/src/compiler/translator/ParseContext.h @@ -116,7 +116,7 @@ struct TParseContext { bool supportsExtension(const char* extension); bool isExtensionEnabled(const char* extension) const; void handleExtensionDirective(const TSourceLoc& loc, const char* extName, const char* behavior); - void handlePragmaDirective(const TSourceLoc& loc, const char* name, const char* value); + void handlePragmaDirective(const TSourceLoc& loc, const char* name, const char* value, bool stdgl); bool containsSampler(TType& type); bool areAllChildConst(TIntermAggregate* aggrNode); diff --git a/src/compiler/translator/Pragma.h b/src/compiler/translator/Pragma.h index 2f744123..4a930a29 100644 --- a/src/compiler/translator/Pragma.h +++ b/src/compiler/translator/Pragma.h @@ -7,13 +7,23 @@ #ifndef COMPILER_PRAGMA_H_ #define COMPILER_PRAGMA_H_ -struct TPragma { +struct TPragma +{ + struct STDGL + { + STDGL() : invariantAll(false) { } + + bool invariantAll; + }; + + // By default optimization is turned on and debug is turned off. TPragma() : optimize(true), debug(false) { } TPragma(bool o, bool d) : optimize(o), debug(d) { } bool optimize; bool debug; + STDGL stdgl; }; #endif // COMPILER_PRAGMA_H_ diff --git a/src/compiler/translator/ShaderLang.cpp b/src/compiler/translator/ShaderLang.cpp index 20ce7160..144ef90b 100644 --- a/src/compiler/translator/ShaderLang.cpp +++ b/src/compiler/translator/ShaderLang.cpp @@ -183,6 +183,9 @@ int ShFinalize() // void ShInitBuiltInResources(ShBuiltInResources* resources) { + // Make comparable. + memset(resources, 0, sizeof(*resources)); + // Constants. resources->MaxVertexAttribs = 8; resources->MaxVertexUniformVectors = 128; @@ -201,6 +204,8 @@ void ShInitBuiltInResources(ShBuiltInResources* resources) resources->EXT_frag_depth = 0; resources->EXT_shader_texture_lod = 0; + resources->NV_draw_buffers = 0; + // Disable highp precision in fragment shader by default. resources->FragmentPrecisionHigh = 0; diff --git a/src/compiler/translator/ShaderVars.cpp b/src/compiler/translator/ShaderVars.cpp index 822c558c..3098a7f0 100644 --- a/src/compiler/translator/ShaderVars.cpp +++ b/src/compiler/translator/ShaderVars.cpp @@ -9,6 +9,8 @@ #include <GLSLANG/ShaderLang.h> +#include "compiler/translator/compilerdebug.h" + namespace sh { @@ -53,6 +55,126 @@ ShaderVariable &ShaderVariable::operator=(const ShaderVariable &other) return *this; } +bool ShaderVariable::operator==(const ShaderVariable &other) const +{ + if (type != other.type || + precision != other.precision || + name != other.name || + mappedName != other.mappedName || + arraySize != other.arraySize || + staticUse != other.staticUse || + fields.size() != other.fields.size() || + structName != other.structName) + { + return false; + } + for (size_t ii = 0; ii < fields.size(); ++ii) + { + if (fields[ii] != other.fields[ii]) + return false; + } + return true; +} + +bool ShaderVariable::findInfoByMappedName( + const std::string &mappedFullName, + const ShaderVariable **leafVar, std::string *originalFullName) const +{ + ASSERT(leafVar && originalFullName); + // There are three cases: + // 1) the top variable is of struct type; + // 2) the top variable is an array; + // 3) otherwise. + size_t pos = mappedFullName.find_first_of(".["); + std::string topName; + + if (pos == std::string::npos) + { + // Case 3. + if (mappedFullName != this->mappedName) + return false; + *originalFullName = this->name; + *leafVar = this; + return true; + } + else + { + std::string topName = mappedFullName.substr(0, pos); + if (topName != this->mappedName) + return false; + std::string originalName = this->name; + std::string remaining; + if (mappedFullName[pos] == '[') + { + // Case 2. + size_t closePos = mappedFullName.find_first_of(']'); + if (closePos < pos || closePos == std::string::npos) + return false; + // Append '[index]'. + originalName += mappedFullName.substr(pos, closePos - pos + 1); + if (closePos + 1 == mappedFullName.size()) + { + *originalFullName = originalName; + *leafVar = this; + return true; + } + else + { + // In the form of 'a[0].b', so after ']', '.' is expected. + if (mappedFullName[closePos + 1] != '.') + return false; + remaining = mappedFullName.substr(closePos + 2); // Skip "]." + } + } + else + { + // Case 1. + remaining = mappedFullName.substr(pos + 1); // Skip "." + } + for (size_t ii = 0; ii < this->fields.size(); ++ii) + { + const ShaderVariable *fieldVar = NULL; + std::string originalFieldName; + bool found = fields[ii].findInfoByMappedName( + remaining, &fieldVar, &originalFieldName); + if (found) + { + *originalFullName = originalName + "." + originalFieldName; + *leafVar = fieldVar; + return true; + } + } + return false; + } +} + +bool ShaderVariable::isSameVariableAtLinkTime( + const ShaderVariable &other, bool matchPrecision) const +{ + if (type != other.type) + return false; + if (matchPrecision && precision != other.precision) + return false; + if (name != other.name) + return false; + ASSERT(mappedName == other.mappedName); + if (arraySize != other.arraySize) + return false; + if (fields.size() != other.fields.size()) + return false; + for (size_t ii = 0; ii < fields.size(); ++ii) + { + if (!fields[ii].isSameVariableAtLinkTime(other.fields[ii], + matchPrecision)) + { + return false; + } + } + if (structName != other.structName) + return false; + return true; +} + Uniform::Uniform() {} @@ -69,6 +191,16 @@ Uniform &Uniform::operator=(const Uniform &other) return *this; } +bool Uniform::operator==(const Uniform &other) const +{ + return ShaderVariable::operator==(other); +} + +bool Uniform::isSameUniformAtLinkTime(const Uniform &other) const +{ + return ShaderVariable::isSameVariableAtLinkTime(other, true); +} + Attribute::Attribute() : location(-1) {} @@ -88,6 +220,12 @@ Attribute &Attribute::operator=(const Attribute &other) return *this; } +bool Attribute::operator==(const Attribute &other) const +{ + return (ShaderVariable::operator==(other) && + location == other.location); +} + InterfaceBlockField::InterfaceBlockField() : isRowMajorLayout(false) {} @@ -107,6 +245,19 @@ InterfaceBlockField &InterfaceBlockField::operator=(const InterfaceBlockField &o return *this; } +bool InterfaceBlockField::operator==(const InterfaceBlockField &other) const +{ + return (ShaderVariable::operator==(other) && + isRowMajorLayout == other.isRowMajorLayout); +} + +bool InterfaceBlockField::isSameInterfaceBlockFieldAtLinkTime( + const InterfaceBlockField &other) const +{ + return (ShaderVariable::isSameVariableAtLinkTime(other, true) && + isRowMajorLayout == other.isRowMajorLayout); +} + Varying::Varying() : interpolation(INTERPOLATION_SMOOTH), isInvariant(false) @@ -129,6 +280,20 @@ Varying &Varying::operator=(const Varying &other) return *this; } +bool Varying::operator==(const Varying &other) const +{ + return (ShaderVariable::operator==(other) && + interpolation == other.interpolation && + isInvariant == other.isInvariant); +} + +bool Varying::isSameVaryingAtLinkTime(const Varying &other) const +{ + return (ShaderVariable::isSameVariableAtLinkTime(other, false) && + interpolation == other.interpolation && + isInvariant == other.isInvariant); +} + InterfaceBlock::InterfaceBlock() : arraySize(0), layout(BLOCKLAYOUT_PACKED), diff --git a/src/compiler/translator/SymbolTable.h b/src/compiler/translator/SymbolTable.h index 6b0e0c0a..9cd74218 100644 --- a/src/compiler/translator/SymbolTable.h +++ b/src/compiler/translator/SymbolTable.h @@ -31,6 +31,7 @@ // #include <assert.h> +#include <set> #include "common/angleutils.h" #include "compiler/translator/InfoSink.h" @@ -299,19 +300,21 @@ class TSymbolTableLevel tLevel level; }; -enum ESymbolLevel -{ - COMMON_BUILTINS = 0, - ESSL1_BUILTINS = 1, - ESSL3_BUILTINS = 2, - LAST_BUILTIN_LEVEL = ESSL3_BUILTINS, - GLOBAL_LEVEL = 3 -}; +// Define ESymbolLevel as int rather than an enum since level can go +// above GLOBAL_LEVEL and cause atBuiltInLevel() to fail if the +// compiler optimizes the >= of the last element to ==. +typedef int ESymbolLevel; +const int COMMON_BUILTINS = 0; +const int ESSL1_BUILTINS = 1; +const int ESSL3_BUILTINS = 2; +const int LAST_BUILTIN_LEVEL = ESSL3_BUILTINS; +const int GLOBAL_LEVEL = 3; class TSymbolTable { public: TSymbolTable() + : mGlobalInvariant(false) { // The symbol table cannot be used until push() is called, but // the lack of an initial call to push() can be used to detect @@ -408,6 +411,25 @@ class TSymbolTable // for the specified TBasicType TPrecision getDefaultPrecision(TBasicType type) const; + // This records invariant varyings declared through + // "invariant varying_name;". + void addInvariantVarying(const TString &originalName) + { + mInvariantVaryings.insert(originalName); + } + // If this returns false, the varying could still be invariant + // if it is set as invariant during the varying variable + // declaration - this piece of information is stored in the + // variable's type, not here. + bool isVaryingInvariant(const TString &originalName) const + { + return (mGlobalInvariant || + mInvariantVaryings.count(originalName) > 0); + } + + void setGlobalInvariant() { mGlobalInvariant = true; } + bool getGlobalInvariant() const { return mGlobalInvariant; } + static int nextUniqueId() { return ++uniqueIdCounter; @@ -423,6 +445,9 @@ class TSymbolTable typedef TMap<TBasicType, TPrecision> PrecisionStackLevel; std::vector< PrecisionStackLevel *> precisionStack; + std::set<TString> mInvariantVaryings; + bool mGlobalInvariant; + static int uniqueIdCounter; }; diff --git a/src/compiler/translator/TranslatorESSL.cpp b/src/compiler/translator/TranslatorESSL.cpp index 5b99fea9..dcbf3cea 100644 --- a/src/compiler/translator/TranslatorESSL.cpp +++ b/src/compiler/translator/TranslatorESSL.cpp @@ -16,6 +16,8 @@ TranslatorESSL::TranslatorESSL(sh::GLenum type, ShShaderSpec spec) void TranslatorESSL::translate(TIntermNode* root) { TInfoSinkBase& sink = getInfoSink().obj; + writePragma(); + // Write built-in extension behaviors. writeExtensionBehavior(); @@ -37,8 +39,13 @@ void TranslatorESSL::writeExtensionBehavior() { for (TExtensionBehavior::const_iterator iter = extensionBehavior.begin(); iter != extensionBehavior.end(); ++iter) { if (iter->second != EBhUndefined) { - sink << "#extension " << iter->first << " : " - << getBehaviorString(iter->second) << "\n"; + if (getResources().NV_draw_buffers && iter->first == "GL_EXT_draw_buffers") { + sink << "#extension GL_NV_draw_buffers : " + << getBehaviorString(iter->second) << "\n"; + } else { + sink << "#extension " << iter->first << " : " + << getBehaviorString(iter->second) << "\n"; + } } } } diff --git a/src/compiler/translator/TranslatorGLSL.cpp b/src/compiler/translator/TranslatorGLSL.cpp index 4b2aecab..6acbf7c5 100644 --- a/src/compiler/translator/TranslatorGLSL.cpp +++ b/src/compiler/translator/TranslatorGLSL.cpp @@ -9,18 +9,6 @@ #include "compiler/translator/OutputGLSL.h" #include "compiler/translator/VersionGLSL.h" -static void writeVersion(sh::GLenum type, TIntermNode* root, - TInfoSinkBase& sink) { - TVersionGLSL versionGLSL(type); - root->traverse(&versionGLSL); - int version = versionGLSL.getVersion(); - // We need to write version directive only if it is greater than 110. - // If there is no version directive in the shader, 110 is implied. - if (version > 110) { - sink << "#version " << version << "\n"; - } -} - TranslatorGLSL::TranslatorGLSL(sh::GLenum type, ShShaderSpec spec) : TCompiler(type, spec, SH_GLSL_OUTPUT) { } @@ -29,7 +17,9 @@ void TranslatorGLSL::translate(TIntermNode* root) { TInfoSinkBase& sink = getInfoSink().obj; // Write GLSL version. - writeVersion(getShaderType(), root, sink); + writeVersion(root); + + writePragma(); // Write extension behaviour as needed writeExtensionBehavior(); @@ -46,6 +36,20 @@ void TranslatorGLSL::translate(TIntermNode* root) { root->traverse(&outputGLSL); } +void TranslatorGLSL::writeVersion(TIntermNode *root) +{ + TVersionGLSL versionGLSL(getShaderType(), getPragma()); + root->traverse(&versionGLSL); + int version = versionGLSL.getVersion(); + // We need to write version directive only if it is greater than 110. + // If there is no version directive in the shader, 110 is implied. + if (version > 110) + { + TInfoSinkBase& sink = getInfoSink().obj; + sink << "#version " << version << "\n"; + } +} + void TranslatorGLSL::writeExtensionBehavior() { TInfoSinkBase& sink = getInfoSink().obj; const TExtensionBehavior& extensionBehavior = getExtensionBehavior(); diff --git a/src/compiler/translator/TranslatorGLSL.h b/src/compiler/translator/TranslatorGLSL.h index 3c6c2e42..766d8d91 100644 --- a/src/compiler/translator/TranslatorGLSL.h +++ b/src/compiler/translator/TranslatorGLSL.h @@ -9,14 +9,16 @@ #include "compiler/translator/Compiler.h" -class TranslatorGLSL : public TCompiler { -public: +class TranslatorGLSL : public TCompiler +{ + public: TranslatorGLSL(sh::GLenum type, ShShaderSpec spec); -protected: - virtual void translate(TIntermNode* root); + protected: + virtual void translate(TIntermNode *root); -private: + private: + void writeVersion(TIntermNode *root); void writeExtensionBehavior(); }; diff --git a/src/compiler/translator/ValidateLimitations.cpp b/src/compiler/translator/ValidateLimitations.cpp index c1a7b752..896e1cd7 100644 --- a/src/compiler/translator/ValidateLimitations.cpp +++ b/src/compiler/translator/ValidateLimitations.cpp @@ -94,6 +94,7 @@ const char *GetOperatorString(TOperator op) case EOpLogicalXor: return "^^"; case EOpLogicalAnd: return "&&"; case EOpNegative: return "-"; + case EOpPositive: return "+"; case EOpVectorLogicalNot: return "not"; case EOpLogicalNot: return "!"; case EOpPostIncrement: return "++"; diff --git a/src/compiler/translator/VariableInfo.cpp b/src/compiler/translator/VariableInfo.cpp index f26c1566..cd927065 100644 --- a/src/compiler/translator/VariableInfo.cpp +++ b/src/compiler/translator/VariableInfo.cpp @@ -5,6 +5,7 @@ // #include "angle_gl.h" +#include "compiler/translator/SymbolTable.h" #include "compiler/translator/VariableInfo.h" #include "compiler/translator/util.h" #include "common/utilities.h" @@ -131,7 +132,8 @@ CollectVariables::CollectVariables(std::vector<sh::Attribute> *attribs, std::vector<sh::Uniform> *uniforms, std::vector<sh::Varying> *varyings, std::vector<sh::InterfaceBlock> *interfaceBlocks, - ShHashFunction64 hashFunction) + ShHashFunction64 hashFunction, + const TSymbolTable &symbolTable) : mAttribs(attribs), mOutputVariables(outputVariables), mUniforms(uniforms), @@ -140,7 +142,10 @@ CollectVariables::CollectVariables(std::vector<sh::Attribute> *attribs, mPointCoordAdded(false), mFrontFacingAdded(false), mFragCoordAdded(false), - mHashFunction(hashFunction) + mPositionAdded(false), + mPointSizeAdded(false), + mHashFunction(hashFunction), + mSymbolTable(symbolTable) { } @@ -200,12 +205,14 @@ void CollectVariables::visitSymbol(TIntermSymbol *symbol) if (!mFragCoordAdded) { Varying info; - info.name = "gl_FragCoord"; - info.mappedName = "gl_FragCoord"; + const char kName[] = "gl_FragCoord"; + info.name = kName; + info.mappedName = kName; info.type = GL_FLOAT_VEC4; info.arraySize = 0; - info.precision = GL_MEDIUM_FLOAT; // Use mediump as it doesn't really matter. + info.precision = GL_MEDIUM_FLOAT; // Defined by spec. info.staticUse = true; + info.isInvariant = mSymbolTable.isVaryingInvariant(kName); mVaryings->push_back(info); mFragCoordAdded = true; } @@ -214,12 +221,14 @@ void CollectVariables::visitSymbol(TIntermSymbol *symbol) if (!mFrontFacingAdded) { Varying info; - info.name = "gl_FrontFacing"; - info.mappedName = "gl_FrontFacing"; + const char kName[] = "gl_FrontFacing"; + info.name = kName; + info.mappedName = kName; info.type = GL_BOOL; info.arraySize = 0; info.precision = GL_NONE; info.staticUse = true; + info.isInvariant = mSymbolTable.isVaryingInvariant(kName); mVaryings->push_back(info); mFrontFacingAdded = true; } @@ -228,16 +237,50 @@ void CollectVariables::visitSymbol(TIntermSymbol *symbol) if (!mPointCoordAdded) { Varying info; - info.name = "gl_PointCoord"; - info.mappedName = "gl_PointCoord"; + const char kName[] = "gl_PointCoord"; + info.name = kName; + info.mappedName = kName; info.type = GL_FLOAT_VEC2; info.arraySize = 0; - info.precision = GL_MEDIUM_FLOAT; // Use mediump as it doesn't really matter. + info.precision = GL_MEDIUM_FLOAT; // Defined by spec. info.staticUse = true; + info.isInvariant = mSymbolTable.isVaryingInvariant(kName); mVaryings->push_back(info); mPointCoordAdded = true; } return; + case EvqPosition: + if (!mPositionAdded) + { + Varying info; + const char kName[] = "gl_Position"; + info.name = kName; + info.mappedName = kName; + info.type = GL_FLOAT_VEC4; + info.arraySize = 0; + info.precision = GL_HIGH_FLOAT; // Defined by spec. + info.staticUse = true; + info.isInvariant = mSymbolTable.isVaryingInvariant(kName); + mVaryings->push_back(info); + mPositionAdded = true; + } + return; + case EvqPointSize: + if (!mPointSizeAdded) + { + Varying info; + const char kName[] = "gl_PointSize"; + info.name = kName; + info.mappedName = kName; + info.type = GL_FLOAT; + info.arraySize = 0; + info.precision = GL_MEDIUM_FLOAT; // Defined by spec. + info.staticUse = true; + info.isInvariant = mSymbolTable.isVaryingInvariant(kName); + mVaryings->push_back(info); + mPointSizeAdded = true; + } + return; default: break; } @@ -251,8 +294,10 @@ void CollectVariables::visitSymbol(TIntermSymbol *symbol) class NameHashingTraverser : public GetVariableTraverser { public: - NameHashingTraverser(ShHashFunction64 hashFunction) - : mHashFunction(hashFunction) + NameHashingTraverser(ShHashFunction64 hashFunction, + const TSymbolTable &symbolTable) + : GetVariableTraverser(symbolTable), + mHashFunction(hashFunction) {} private: @@ -312,7 +357,7 @@ void CollectVariables::visitVariable(const TIntermSymbol *variable, const TString &fullFieldName = InterfaceBlockFieldName(*blockType, field); const TType &fieldType = *field.type(); - GetVariableTraverser traverser; + GetVariableTraverser traverser(mSymbolTable); traverser.traverse(fieldType, fullFieldName, &interfaceBlock.fields); interfaceBlock.fields.back().isRowMajorLayout = (fieldType.getLayoutQualifier().matrixPacking == EmpRowMajor); @@ -325,7 +370,7 @@ template <typename VarT> void CollectVariables::visitVariable(const TIntermSymbol *variable, std::vector<VarT> *infoList) const { - NameHashingTraverser traverser(mHashFunction); + NameHashingTraverser traverser(mHashFunction, mSymbolTable); traverser.traverse(variable->getType(), variable->getSymbol(), infoList); } diff --git a/src/compiler/translator/VariableInfo.h b/src/compiler/translator/VariableInfo.h index 5ac4c46b..9c6b6bab 100644 --- a/src/compiler/translator/VariableInfo.h +++ b/src/compiler/translator/VariableInfo.h @@ -11,6 +11,8 @@ #include "compiler/translator/IntermNode.h" +class TSymbolTable; + namespace sh { @@ -23,7 +25,8 @@ class CollectVariables : public TIntermTraverser std::vector<Uniform> *uniforms, std::vector<Varying> *varyings, std::vector<InterfaceBlock> *interfaceBlocks, - ShHashFunction64 hashFunction); + ShHashFunction64 hashFunction, + const TSymbolTable &symbolTable); virtual void visitSymbol(TIntermSymbol *symbol); virtual bool visitAggregate(Visit, TIntermAggregate *node); @@ -48,7 +51,12 @@ class CollectVariables : public TIntermTraverser bool mFrontFacingAdded; bool mFragCoordAdded; + bool mPositionAdded; + bool mPointSizeAdded; + ShHashFunction64 mHashFunction; + + const TSymbolTable &mSymbolTable; }; // Expand struct variables to flattened lists of split variables diff --git a/src/compiler/translator/VersionGLSL.cpp b/src/compiler/translator/VersionGLSL.cpp index 8edbd009..05b111a7 100644 --- a/src/compiler/translator/VersionGLSL.cpp +++ b/src/compiler/translator/VersionGLSL.cpp @@ -26,18 +26,12 @@ static const int GLSL_VERSION_120 = 120; // GLSL 1.2 relaxed the restriction on arrays, section 5.8: "Variables that // are built-in types, entire structures or arrays... are all l-values." // -// TODO(alokp): The following two cases of invariant decalaration get lost -// during parsing - they do not get carried over to the intermediate tree. -// Handle these cases: -// 1. When a pragma is used to force all output variables to be invariant: -// - #pragma STDGL invariant(all) -// 2. When a previously decalared or built-in variable is marked invariant: -// - invariant gl_Position; -// - varying vec3 color; invariant color; -// -TVersionGLSL::TVersionGLSL(sh::GLenum type) - : mVersion(GLSL_VERSION_110) +TVersionGLSL::TVersionGLSL(sh::GLenum type, const TPragma &pragma) { + if (pragma.stdgl.invariantAll) + mVersion = GLSL_VERSION_120; + else + mVersion = GLSL_VERSION_110; } void TVersionGLSL::visitSymbol(TIntermSymbol *node) diff --git a/src/compiler/translator/VersionGLSL.h b/src/compiler/translator/VersionGLSL.h index 30f5a138..72368e39 100644 --- a/src/compiler/translator/VersionGLSL.h +++ b/src/compiler/translator/VersionGLSL.h @@ -9,6 +9,8 @@ #include "compiler/translator/IntermNode.h" +#include "compiler/translator/Pragma.h" + // Traverses the intermediate tree to return the minimum GLSL version // required to legally access all built-in features used in the shader. // GLSL 1.1 which is mandated by OpenGL 2.0 provides: @@ -27,7 +29,7 @@ class TVersionGLSL : public TIntermTraverser { public: - TVersionGLSL(sh::GLenum type); + TVersionGLSL(sh::GLenum type, const TPragma &pragma); // Returns 120 if the following is used the shader: // - "invariant", diff --git a/src/compiler/translator/glslang.y b/src/compiler/translator/glslang.y index 5c945ad5..f8c4115e 100644 --- a/src/compiler/translator/glslang.y +++ b/src/compiler/translator/glslang.y @@ -500,6 +500,7 @@ unary_expression const char* errorOp = ""; switch($1.op) { case EOpNegative: errorOp = "-"; break; + case EOpPositive: errorOp = "+"; break; case EOpLogicalNot: errorOp = "!"; break; default: break; } @@ -514,7 +515,7 @@ unary_expression // Grammar Note: No traditional style type casts. unary_operator - : PLUS { $$.op = EOpNull; } + : PLUS { $$.op = EOpPositive; } | DASH { $$.op = EOpNegative; } | BANG { $$.op = EOpLogicalNot; } ; diff --git a/src/compiler/translator/glslang_tab.cpp b/src/compiler/translator/glslang_tab.cpp index 6d483b12..567ba432 100644 --- a/src/compiler/translator/glslang_tab.cpp +++ b/src/compiler/translator/glslang_tab.cpp @@ -2919,6 +2919,7 @@ yyreduce: const char* errorOp = ""; switch((yyvsp[(1) - (2)].interm).op) { case EOpNegative: errorOp = "-"; break; + case EOpPositive: errorOp = "+"; break; case EOpLogicalNot: errorOp = "!"; break; default: break; } @@ -2933,7 +2934,7 @@ yyreduce: case 34: - { (yyval.interm).op = EOpNull; } + { (yyval.interm).op = EOpPositive; } break; case 35: diff --git a/src/compiler/translator/intermOut.cpp b/src/compiler/translator/intermOut.cpp index 56340c6f..03ce5bec 100644 --- a/src/compiler/translator/intermOut.cpp +++ b/src/compiler/translator/intermOut.cpp @@ -221,6 +221,7 @@ bool TOutputTraverser::visitUnary(Visit visit, TIntermUnary *node) switch (node->getOp()) { case EOpNegative: out << "Negate value"; break; + case EOpPositive: out << "Positive sign"; break; case EOpVectorLogicalNot: case EOpLogicalNot: out << "Negate conditional"; break; diff --git a/src/compiler/translator/util.cpp b/src/compiler/translator/util.cpp index f74c7d11..968bbfad 100644 --- a/src/compiler/translator/util.cpp +++ b/src/compiler/translator/util.cpp @@ -9,6 +9,7 @@ #include <limits> #include "compiler/preprocessor/numeric_lex.h" +#include "compiler/translator/SymbolTable.h" #include "common/utilities.h" bool atof_clamp(const char *str, float *value) @@ -281,8 +282,45 @@ InterpolationType GetInterpolationType(TQualifier qualifier) } } +GetVariableTraverser::GetVariableTraverser(const TSymbolTable &symbolTable) + : mSymbolTable(symbolTable) +{ +} + +template void GetVariableTraverser::setTypeSpecificInfo( + const TType &type, const TString& name, InterfaceBlockField *variable); +template void GetVariableTraverser::setTypeSpecificInfo( + const TType &type, const TString& name, ShaderVariable *variable); +template void GetVariableTraverser::setTypeSpecificInfo( + const TType &type, const TString& name, Uniform *variable); + +template<> +void GetVariableTraverser::setTypeSpecificInfo( + const TType &type, const TString& name, Varying *variable) +{ + ASSERT(variable); + switch (type.getQualifier()) + { + case EvqInvariantVaryingIn: + case EvqInvariantVaryingOut: + variable->isInvariant = true; + break; + case EvqVaryingIn: + case EvqVaryingOut: + if (mSymbolTable.isVaryingInvariant(name)) + { + variable->isInvariant = true; + } + break; + default: + break; + } +} + template <typename VarT> -void GetVariableTraverser::traverse(const TType &type, const TString &name, std::vector<VarT> *output) +void GetVariableTraverser::traverse(const TType &type, + const TString &name, + std::vector<VarT> *output) { const TStructure *structure = type.getStruct(); @@ -309,15 +347,16 @@ void GetVariableTraverser::traverse(const TType &type, const TString &name, std: traverse(*field->type(), field->name(), &variable.fields); } } - + setTypeSpecificInfo(type, name, &variable); visitVariable(&variable); ASSERT(output); output->push_back(variable); } +template void GetVariableTraverser::traverse(const TType &, const TString &, std::vector<InterfaceBlockField> *); +template void GetVariableTraverser::traverse(const TType &, const TString &, std::vector<ShaderVariable> *); template void GetVariableTraverser::traverse(const TType &, const TString &, std::vector<Uniform> *); template void GetVariableTraverser::traverse(const TType &, const TString &, std::vector<Varying> *); -template void GetVariableTraverser::traverse(const TType &, const TString &, std::vector<InterfaceBlockField> *); } diff --git a/src/compiler/translator/util.h b/src/compiler/translator/util.h index 241e2cc1..fb530875 100644 --- a/src/compiler/translator/util.h +++ b/src/compiler/translator/util.h @@ -24,6 +24,8 @@ extern bool atof_clamp(const char *str, float *value); // Return false if overflow happens. extern bool atoi_clamp(const char *str, int *value); +class TSymbolTable; + namespace sh { @@ -38,7 +40,7 @@ TString ArrayString(const TType &type); class GetVariableTraverser { public: - GetVariableTraverser() {} + GetVariableTraverser(const TSymbolTable &symbolTable); template <typename VarT> void traverse(const TType &type, const TString &name, std::vector<VarT> *output); @@ -48,6 +50,14 @@ class GetVariableTraverser virtual void visitVariable(ShaderVariable *newVar) {} private: + // Helper function called by traverse() to fill specific fields + // for attributes/varyings/uniforms. + template <typename VarT> + void setTypeSpecificInfo( + const TType &type, const TString &name, VarT *variable) {} + + const TSymbolTable &mSymbolTable; + DISALLOW_COPY_AND_ASSIGN(GetVariableTraverser); }; diff --git a/src/copy_scripts.target.darwin-arm.mk b/src/copy_scripts.target.darwin-arm.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.darwin-arm.mk +++ b/src/copy_scripts.target.darwin-arm.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.darwin-arm64.mk b/src/copy_scripts.target.darwin-arm64.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.darwin-arm64.mk +++ b/src/copy_scripts.target.darwin-arm64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.darwin-mips.mk b/src/copy_scripts.target.darwin-mips.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.darwin-mips.mk +++ b/src/copy_scripts.target.darwin-mips.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.darwin-x86.mk b/src/copy_scripts.target.darwin-x86.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.darwin-x86.mk +++ b/src/copy_scripts.target.darwin-x86.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.darwin-x86_64.mk b/src/copy_scripts.target.darwin-x86_64.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.darwin-x86_64.mk +++ b/src/copy_scripts.target.darwin-x86_64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.linux-arm.mk b/src/copy_scripts.target.linux-arm.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.linux-arm.mk +++ b/src/copy_scripts.target.linux-arm.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.linux-arm64.mk b/src/copy_scripts.target.linux-arm64.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.linux-arm64.mk +++ b/src/copy_scripts.target.linux-arm64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.linux-mips.mk b/src/copy_scripts.target.linux-mips.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.linux-mips.mk +++ b/src/copy_scripts.target.linux-mips.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.linux-x86.mk b/src/copy_scripts.target.linux-x86.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.linux-x86.mk +++ b/src/copy_scripts.target.linux-x86.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/copy_scripts.target.linux-x86_64.mk b/src/copy_scripts.target.linux-x86_64.mk index a406fcb2..eb8ad15b 100644 --- a/src/copy_scripts.target.linux-x86_64.mk +++ b/src/copy_scripts.target.linux-x86_64.mk @@ -7,6 +7,7 @@ LOCAL_MODULE := third_party_angle_src_copy_scripts_gyp LOCAL_MODULE_STEM := copy_scripts LOCAL_MODULE_SUFFIX := .stamp LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -24,15 +25,19 @@ $(gyp_shared_intermediate_dir)/angle/commit_id.py: $(LOCAL_PATH)/third_party/ang $(hide) mkdir -p $(dir $@) $(hide) $(ACP) -rpf $< $@ -third_party_angle_src_build_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py +third_party_angle_src_angle_gyp_copy_scripts_target_copies = $(gyp_shared_intermediate_dir)/angle/copy_compiler_dll.bat $(gyp_shared_intermediate_dir)/angle/commit_id.py GYP_GENERATED_OUTPUTS := \ - $(third_party_angle_src_build_angle_gyp_copy_scripts_target_copies) + $(third_party_angle_src_angle_gyp_copy_scripts_target_copies) # Make sure our deps and generated files are built first. LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) ### Rules for final target. +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static + # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules gyp_all_modules: third_party_angle_src_copy_scripts_gyp diff --git a/src/libEGL.gypi b/src/libEGL.gypi index 85ac3158..d897a138 100644 --- a/src/libEGL.gypi +++ b/src/libEGL.gypi @@ -5,8 +5,6 @@ { 'variables': { - 'angle_enable_d3d9%': 1, - 'angle_enable_d3d11%': 1, # This file list is shared with the GN build. 'angle_libegl_sources': [ @@ -34,6 +32,7 @@ 'common/mathutil.cpp', 'common/mathutil.h', 'common/platform.h', + 'common/NativeWindow.h', 'common/tls.cpp', 'common/tls.h', 'common/utilities.cpp', @@ -52,6 +51,17 @@ 'libEGL/main.h', 'libEGL/resource.h', ], + 'angle_libegl_win32_sources': + [ + 'common/win32/NativeWindow.cpp', + ], + 'angle_libegl_winrt_sources': + [ + 'common/winrt/CoreWindowNativeWindow.cpp', + 'common/winrt/CoreWindowNativeWindow.h', + 'common/winrt/IInspectableNativeWindow.cpp', + 'common/winrt/IInspectableNativeWindow.h', + ], }, # Everything below this is duplicated in the GN build. If you change # anything also change angle/BUILD.gn @@ -97,15 +107,54 @@ 'ANGLE_ENABLE_D3D11', ], }], + ['angle_build_winrt==0', + { + 'sources': + [ + '<@(angle_libegl_win32_sources)', + ], + }], + + ['angle_build_winrt==1', + { + 'defines': + [ + 'NTDDI_VERSION=NTDDI_WINBLUE', + ], + 'sources': + [ + '<@(angle_libegl_winrt_sources)', + ], + 'msvs_enable_winrt' : '1', + 'msvs_requires_importlibrary' : '1', + 'msvs_settings': + { + 'VCLinkerTool': + { + 'EnableCOMDATFolding': '1', + 'OptimizeReferences': '1', + } + }, + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], ], 'includes': [ '../build/common_defines.gypi', ], 'msvs_settings': { 'VCLinkerTool': { - 'AdditionalDependencies': + 'conditions': [ - 'd3d9.lib', + ['angle_build_winrt==0', + { + 'AdditionalDependencies': + [ + 'd3d9.lib', + ], + }], ], }, }, diff --git a/src/libEGL/Display.cpp b/src/libEGL/Display.cpp index 43d9b260..863e52e2 100644 --- a/src/libEGL/Display.cpp +++ b/src/libEGL/Display.cpp @@ -14,6 +14,7 @@ #include <map> #include <vector> #include <sstream> +#include <iterator> #include "common/debug.h" #include "common/mathutil.h" @@ -192,7 +193,7 @@ bool Display::getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value) -EGLSurface Display::createWindowSurface(HWND window, EGLConfig config, const EGLint *attribList) +EGLSurface Display::createWindowSurface(EGLNativeWindowType window, EGLConfig config, const EGLint *attribList) { const Config *configuration = mConfigSet.get(config); EGLint postSubBufferSupported = EGL_FALSE; @@ -493,7 +494,7 @@ bool Display::isValidSurface(egl::Surface *surface) return mSurfaceSet.find(surface) != mSurfaceSet.end(); } -bool Display::hasExistingWindowSurface(HWND window) +bool Display::hasExistingWindowSurface(EGLNativeWindowType window) { for (SurfaceSet::iterator surface = mSurfaceSet.begin(); surface != mSurfaceSet.end(); surface++) { @@ -551,8 +552,10 @@ void Display::initDisplayExtensionString() extensions.push_back("EGL_NV_post_sub_buffer"); } +#if defined (ANGLE_TEST_CONFIG) // TODO: complete support for the EGL_KHR_create_context extension extensions.push_back("EGL_KHR_create_context"); +#endif std::ostringstream stream; std::copy(extensions.begin(), extensions.end(), std::ostream_iterator<std::string>(stream, " ")); diff --git a/src/libEGL/Display.h b/src/libEGL/Display.h index 250878f0..e498450e 100644 --- a/src/libEGL/Display.h +++ b/src/libEGL/Display.h @@ -43,7 +43,7 @@ class Display bool getConfigs(EGLConfig *configs, const EGLint *attribList, EGLint configSize, EGLint *numConfig); bool getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value); - EGLSurface createWindowSurface(HWND window, EGLConfig config, const EGLint *attribList); + EGLSurface createWindowSurface(EGLNativeWindowType window, EGLConfig config, const EGLint *attribList); EGLSurface createOffscreenSurface(EGLConfig config, HANDLE shareHandle, const EGLint *attribList); EGLContext createContext(EGLConfig configHandle, EGLint clientVersion, const gl::Context *shareContext, bool notifyResets, bool robustAccess); @@ -54,7 +54,7 @@ class Display bool isValidConfig(EGLConfig config); bool isValidContext(gl::Context *context); bool isValidSurface(egl::Surface *surface); - bool hasExistingWindowSurface(HWND window); + bool hasExistingWindowSurface(EGLNativeWindowType window); rx::Renderer *getRenderer() { return mRenderer; }; diff --git a/src/libEGL/Surface.cpp b/src/libEGL/Surface.cpp index 13b0f208..03145d19 100644 --- a/src/libEGL/Surface.cpp +++ b/src/libEGL/Surface.cpp @@ -22,11 +22,13 @@ #include "libEGL/main.h" #include "libEGL/Display.h" +#include "common/NativeWindow.h" + namespace egl { -Surface::Surface(Display *display, const Config *config, HWND window, EGLint fixedSize, EGLint width, EGLint height, EGLint postSubBufferSupported) - : mDisplay(display), mConfig(config), mWindow(window), mPostSubBufferSupported(postSubBufferSupported) +Surface::Surface(Display *display, const Config *config, EGLNativeWindowType window, EGLint fixedSize, EGLint width, EGLint height, EGLint postSubBufferSupported) + : mDisplay(display), mConfig(config), mNativeWindow(window), mPostSubBufferSupported(postSubBufferSupported) { mRenderer = mDisplay->getRenderer(); mSwapChain = NULL; @@ -48,7 +50,7 @@ Surface::Surface(Display *display, const Config *config, HWND window, EGLint fix } Surface::Surface(Display *display, const Config *config, HANDLE shareHandle, EGLint width, EGLint height, EGLenum textureFormat, EGLenum textureType) - : mDisplay(display), mWindow(NULL), mConfig(config), mShareHandle(shareHandle), mWidth(width), mHeight(height), mPostSubBufferSupported(EGL_FALSE) + : mDisplay(display), mNativeWindow(NULL), mConfig(config), mShareHandle(shareHandle), mWidth(width), mHeight(height), mPostSubBufferSupported(EGL_FALSE) { mRenderer = mDisplay->getRenderer(); mSwapChain = NULL; @@ -74,6 +76,14 @@ Surface::~Surface() bool Surface::initialize() { + if (mNativeWindow.getNativeWindow()) + { + if (!mNativeWindow.initialize()) + { + return false; + } + } + if (!resetSwapChain()) return false; @@ -102,7 +112,7 @@ bool Surface::resetSwapChain() if (!mFixedSize) { RECT windowRect; - if (!GetClientRect(getWindowHandle(), &windowRect)) + if (!mNativeWindow.getClientRect(&windowRect)) { ASSERT(false); @@ -120,7 +130,7 @@ bool Surface::resetSwapChain() height = mHeight; } - mSwapChain = mRenderer->createSwapChain(mWindow, mShareHandle, + mSwapChain = mRenderer->createSwapChain(mNativeWindow, mShareHandle, mConfig->mRenderTargetFormat, mConfig->mDepthStencilFormat); if (!mSwapChain) @@ -224,12 +234,12 @@ bool Surface::swapRect(EGLint x, EGLint y, EGLint width, EGLint height) return true; } -HWND Surface::getWindowHandle() +EGLNativeWindowType Surface::getWindowHandle() { - return mWindow; + return mNativeWindow.getNativeWindow(); } - +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) #define kSurfaceProperty _TEXT("Egl::SurfaceOwner") #define kParentWndProc _TEXT("Egl::SurfaceParentWndProc") @@ -246,32 +256,36 @@ static LRESULT CALLBACK SurfaceWindowProc(HWND hwnd, UINT message, WPARAM wparam WNDPROC prevWndFunc = reinterpret_cast<WNDPROC >(GetProp(hwnd, kParentWndProc)); return CallWindowProc(prevWndFunc, hwnd, message, wparam, lparam); } +#endif void Surface::subclassWindow() { - if (!mWindow) +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) + HWND window = mNativeWindow.getNativeWindow(); + if (!window) { return; } DWORD processId; - DWORD threadId = GetWindowThreadProcessId(mWindow, &processId); + DWORD threadId = GetWindowThreadProcessId(window, &processId); if (processId != GetCurrentProcessId() || threadId != GetCurrentThreadId()) { return; } SetLastError(0); - LONG_PTR oldWndProc = SetWindowLongPtr(mWindow, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(SurfaceWindowProc)); + LONG_PTR oldWndProc = SetWindowLongPtr(window, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(SurfaceWindowProc)); if(oldWndProc == 0 && GetLastError() != ERROR_SUCCESS) { mWindowSubclassed = false; return; } - SetProp(mWindow, kSurfaceProperty, reinterpret_cast<HANDLE>(this)); - SetProp(mWindow, kParentWndProc, reinterpret_cast<HANDLE>(oldWndProc)); + SetProp(window, kSurfaceProperty, reinterpret_cast<HANDLE>(this)); + SetProp(window, kParentWndProc, reinterpret_cast<HANDLE>(oldWndProc)); mWindowSubclassed = true; +#endif } void Surface::unsubclassWindow() @@ -281,8 +295,15 @@ void Surface::unsubclassWindow() return; } +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) + HWND window = mNativeWindow.getNativeWindow(); + if (!window) + { + return; + } + // un-subclass - LONG_PTR parentWndFunc = reinterpret_cast<LONG_PTR>(GetProp(mWindow, kParentWndProc)); + LONG_PTR parentWndFunc = reinterpret_cast<LONG_PTR>(GetProp(window, kParentWndProc)); // Check the windowproc is still SurfaceWindowProc. // If this assert fails, then it is likely the application has subclassed the @@ -291,13 +312,14 @@ void Surface::unsubclassWindow() // EGL context, or to unsubclass before destroying the EGL context. if(parentWndFunc) { - LONG_PTR prevWndFunc = SetWindowLongPtr(mWindow, GWLP_WNDPROC, parentWndFunc); + LONG_PTR prevWndFunc = SetWindowLongPtr(window, GWLP_WNDPROC, parentWndFunc); UNUSED_ASSERTION_VARIABLE(prevWndFunc); ASSERT(prevWndFunc == reinterpret_cast<LONG_PTR>(SurfaceWindowProc)); } - RemoveProp(mWindow, kSurfaceProperty); - RemoveProp(mWindow, kParentWndProc); + RemoveProp(window, kSurfaceProperty); + RemoveProp(window, kParentWndProc); +#endif mWindowSubclassed = false; } @@ -307,11 +329,11 @@ bool Surface::checkForOutOfDateSwapChain() int clientWidth = getWidth(); int clientHeight = getHeight(); bool sizeDirty = false; - if (!mFixedSize && !IsIconic(getWindowHandle())) + if (!mFixedSize && !mNativeWindow.isIconic()) { // The window is automatically resized to 150x22 when it's minimized, but the swapchain shouldn't be resized // because that's not a useful size to render to. - if (!GetClientRect(getWindowHandle(), &client)) + if (!mNativeWindow.getClientRect(&client)) { ASSERT(false); return false; diff --git a/src/libEGL/Surface.h b/src/libEGL/Surface.h index 24c66b70..6679c412 100644 --- a/src/libEGL/Surface.h +++ b/src/libEGL/Surface.h @@ -14,6 +14,7 @@ #include <EGL/egl.h> #include "common/angleutils.h" +#include "common/NativeWindow.h" namespace gl { @@ -33,7 +34,7 @@ class Config; class Surface { public: - Surface(Display *display, const egl::Config *config, HWND window, EGLint fixedSize, EGLint width, EGLint height, EGLint postSubBufferSupported); + Surface(Display *display, const egl::Config *config, EGLNativeWindowType window, EGLint fixedSize, EGLint width, EGLint height, EGLint postSubBufferSupported); Surface(Display *display, const egl::Config *config, HANDLE shareHandle, EGLint width, EGLint height, EGLenum textureFormat, EGLenum textureTarget); virtual ~Surface(); @@ -42,7 +43,7 @@ class Surface void release(); bool resetSwapChain(); - HWND getWindowHandle(); + EGLNativeWindowType getWindowHandle(); bool swap(); bool postSubBuffer(EGLint x, EGLint y, EGLint width, EGLint height); @@ -83,7 +84,7 @@ private: bool resetSwapChain(int backbufferWidth, int backbufferHeight); bool swapRect(EGLint x, EGLint y, EGLint width, EGLint height); - const HWND mWindow; // Window that the surface is created for. + rx::NativeWindow mNativeWindow; // Handler for the Window that the surface is created for. bool mWindowSubclassed; // Indicates whether we successfully subclassed mWindow for WM_RESIZE hooking const egl::Config *mConfig; // EGL config surface was created with EGLint mHeight; // Height of surface diff --git a/src/libEGL/libEGL.cpp b/src/libEGL/libEGL.cpp index f9a4780b..6ea30824 100644 --- a/src/libEGL/libEGL.cpp +++ b/src/libEGL/libEGL.cpp @@ -19,6 +19,8 @@ #include "libEGL/Display.h" #include "libEGL/Surface.h" +#include "common/NativeWindow.h" + bool validateDisplay(egl::Display *display) { if (display == EGL_NO_DISPLAY) @@ -118,11 +120,13 @@ EGLDisplay __stdcall eglGetPlatformDisplayEXT(EGLenum platform, void *native_dis EGLNativeDisplayType displayId = static_cast<EGLNativeDisplayType>(native_display); +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) // Validate the display device context if (WindowFromDC(displayId) == NULL) { return egl::success(EGL_NO_DISPLAY); } +#endif EGLint requestedDisplayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; if (attrib_list) @@ -324,14 +328,12 @@ EGLSurface __stdcall eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EG return EGL_NO_SURFACE; } - HWND window = (HWND)win; - - if (!IsWindow(window)) + if (!isValidEGLNativeWindowType(win)) { return egl::error(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE); } - return display->createWindowSurface(window, config, attrib_list); + return display->createWindowSurface(win, config, attrib_list); } EGLSurface __stdcall eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list) diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi index 7f238afa..c9495f8d 100644 --- a/src/libGLESv2.gypi +++ b/src/libGLESv2.gypi @@ -5,8 +5,6 @@ { 'variables': { - 'angle_enable_d3d9%': 1, - 'angle_enable_d3d11%': 1, # These file lists are shared with the GN build. 'angle_libangle_sources': [ @@ -36,6 +34,7 @@ 'common/mathutil.cpp', 'common/mathutil.h', 'common/platform.h', + 'common/NativeWindow.h', 'common/tls.cpp', 'common/tls.h', 'common/utilities.cpp', @@ -46,6 +45,7 @@ 'libGLESv2/Buffer.h', 'libGLESv2/Caps.cpp', 'libGLESv2/Caps.h', + 'libGLESv2/Constants.h', 'libGLESv2/Context.cpp', 'libGLESv2/Context.h', 'libGLESv2/Error.cpp', @@ -89,7 +89,6 @@ 'libGLESv2/VertexAttribute.h', 'libGLESv2/angletypes.cpp', 'libGLESv2/angletypes.h', - 'libGLESv2/constants.h', 'libGLESv2/formatutils.cpp', 'libGLESv2/formatutils.h', 'libGLESv2/main.cpp', @@ -113,6 +112,7 @@ 'libGLESv2/renderer/TextureImpl.h', 'libGLESv2/renderer/TransformFeedbackImpl.h', 'libGLESv2/renderer/VertexArrayImpl.h', + 'libGLESv2/renderer/Workarounds.h', 'libGLESv2/renderer/copyimage.cpp', 'libGLESv2/renderer/copyimage.h', 'libGLESv2/renderer/copyimage.inl', @@ -138,6 +138,18 @@ 'third_party/systeminfo/SystemInfo.cpp', 'third_party/systeminfo/SystemInfo.h', ], + 'angle_libangle_win_sources': + [ + # TODO(kbr): port NativeWindow to other EGL platforms. + 'common/win32/NativeWindow.cpp', + ], + 'angle_libangle_winrt_sources': + [ + 'common/winrt/CoreWindowNativeWindow.cpp', + 'common/winrt/CoreWindowNativeWindow.h', + 'common/winrt/IInspectableNativeWindow.cpp', + 'common/winrt/IInspectableNativeWindow.h', + ], 'angle_d3d_shared_sources': [ 'libGLESv2/renderer/d3d/BufferD3D.cpp', @@ -303,158 +315,243 @@ }, # Everything below this is duplicated in the GN build. If you change # anything also change angle/BUILD.gn - 'conditions': + 'targets': [ - ['OS=="win"', { - 'targets': + 'target_name': 'libANGLE', + #TODO(jamdill/geofflang): support shared + 'type': 'static_library', + 'dependencies': [ 'translator', 'commit_id', ], + 'includes': [ '../build/common_defines.gypi', ], + + 'include_dirs': + [ + '.', + '../include', + 'libGLESv2', + ], + 'sources': + [ + '<@(angle_libangle_sources)', + ], + 'defines': + [ + 'GL_APICALL=', + 'GL_GLEXT_PROTOTYPES=', + 'EGLAPI=', + 'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" }', + ], + 'direct_dependent_settings': + { + 'include_dirs': + [ + '.', + '../include', + 'libGLESv2', + ], + 'defines': + [ + 'GL_APICALL=', + 'GL_GLEXT_PROTOTYPES=', + 'EGLAPI=', + 'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" }', + ], + }, + 'conditions': [ + ['angle_enable_d3d9==1 or angle_enable_d3d11==1', { - 'target_name': 'libANGLE', - #TODO(jamdill/geofflang): support shared - 'type': 'static_library', - 'dependencies': [ 'translator', 'commit_id', 'copy_compiler_dll' ], - 'includes': [ '../build/common_defines.gypi', ], - 'include_dirs': + 'sources': [ - '.', - '../include', - 'libGLESv2', + '<@(angle_d3d_shared_sources)', ], + }], + ['angle_enable_d3d9==1', + { 'sources': [ - '<@(angle_libangle_sources)', + '<@(angle_d3d9_sources)', ], 'defines': [ - 'GL_APICALL=', - 'GL_GLEXT_PROTOTYPES=', - 'EGLAPI=', - 'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" }', + 'ANGLE_ENABLE_D3D9', ], - 'direct_dependent_settings': + 'link_settings': { - 'include_dirs': - [ - '.', - '../include', - 'libGLESv2', - ], - 'defines': - [ - 'GL_APICALL=', - 'GL_GLEXT_PROTOTYPES=', - 'EGLAPI=', - 'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_46.dll", "d3dcompiler_43.dll" }', - ], + 'msvs_settings': + { + 'VCLinkerTool': + { + 'AdditionalDependencies': + [ + 'd3d9.lib', + ] + } + }, }, - 'conditions': + }], + ['angle_enable_d3d11==1', + { + 'sources': [ - ['angle_enable_d3d9==1 or angle_enable_d3d11==1', - { - 'sources': - [ - '<@(angle_d3d_shared_sources)', - ], - }], - ['angle_enable_d3d9==1', + '<@(angle_d3d11_sources)', + ], + 'defines': + [ + 'ANGLE_ENABLE_D3D11', + ], + 'link_settings': + { + 'msvs_settings': { - 'sources': - [ - '<@(angle_d3d9_sources)', - ], - 'defines': - [ - 'ANGLE_ENABLE_D3D9', - ], - 'link_settings': + 'VCLinkerTool': { - 'msvs_settings': - { - 'VCLinkerTool': + 'conditions': + [ + ['angle_build_winrt==0', { 'AdditionalDependencies': [ - 'd3d9.lib', - ] - } - }, - }, - }], - ['angle_enable_d3d11==1', - { - 'sources': - [ - '<@(angle_d3d11_sources)', - ], - 'defines': - [ - 'ANGLE_ENABLE_D3D11', - ], - 'link_settings': - { - 'msvs_settings': - { - 'VCLinkerTool': + 'dxguid.lib', + ], + }], + ['angle_build_winrt==1', { 'AdditionalDependencies': [ 'dxguid.lib', - ] - } - }, - }, - }], - ], - - 'configurations': - { - 'Debug': - { - 'defines': - [ - 'ANGLE_ENABLE_PERF', - ], - 'msvs_settings': - { - 'VCLinkerTool': - { - 'AdditionalDependencies': - [ - 'd3d9.lib', - ] - } - }, + 'd3d11.lib', + 'd3dcompiler.lib', + ], + }], + ], + } }, }, - }, + }], + ['angle_build_winrt==0 and OS=="win"', { - 'target_name': 'libGLESv2', - 'type': 'shared_library', - 'dependencies': [ 'libANGLE' ], - 'includes': [ '../build/common_defines.gypi', ], 'sources': [ - 'libGLESv2/libGLESv2.cpp', - 'libGLESv2/libGLESv2.def', - 'libGLESv2/libGLESv2.rc', + '<@(angle_libangle_win_sources)', ], - }, + 'dependencies': + [ + 'copy_compiler_dll' + ], + }], + ['angle_build_winrt==1', { - 'target_name': 'libGLESv2_static', - 'type': 'static_library', - # make sure we depend on commit_id as a hard dependency, otherwise - # we will try to build the static_lib in parallel - 'dependencies': [ 'libANGLE', 'commit_id' ], - 'includes': [ '../build/common_defines.gypi', ], 'sources': [ - 'libGLESv2/libGLESv2.cpp', - 'libGLESv2/libGLESv2.rc', + '<@(angle_libangle_winrt_sources)', + ], + 'defines': + [ + 'NTDDI_VERSION=NTDDI_WINBLUE', + ], + 'msvs_enable_winrt' : '1', + 'msvs_requires_importlibrary' : 'true', + 'msvs_settings': + { + 'VCLinkerTool': + { + 'EnableCOMDATFolding': '1', + 'OptimizeReferences': '1', + } + }, + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], + 'configurations': + { + 'Debug': + { + 'defines': + [ + 'ANGLE_ENABLE_PERF', + 'ANGLE_GENERATE_SHADER_DEBUG_INFO' ], + 'msvs_settings': + { + 'VCLinkerTool': + { + 'AdditionalDependencies': + [ + 'd3d9.lib', + ] + } + }, }, + }, + }, + { + 'target_name': 'libGLESv2', + 'type': 'shared_library', + 'dependencies': [ 'libANGLE' ], + 'includes': [ '../build/common_defines.gypi', ], + 'sources': + [ + 'libGLESv2/libGLESv2.cpp', + 'libGLESv2/libGLESv2.def', + 'libGLESv2/libGLESv2.rc', + ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + 'msvs_requires_importlibrary' : 'true', + 'msvs_settings': + { + 'VCLinkerTool': + { + 'EnableCOMDATFolding': '1', + 'OptimizeReferences': '1', + } + }, + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], + ], + }, + { + 'target_name': 'libGLESv2_static', + 'type': 'static_library', + # make sure we depend on commit_id as a hard dependency, otherwise + # we will try to build the static_lib in parallel + 'dependencies': [ 'libANGLE', 'commit_id' ], + 'includes': [ '../build/common_defines.gypi', ], + 'sources': + [ + 'libGLESv2/libGLESv2.cpp', + 'libGLESv2/libGLESv2.rc', + ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'msvs_enable_winrt' : '1', + 'msvs_requires_importlibrary' : 'true', + 'msvs_settings': + { + 'VCLinkerTool': + { + 'EnableCOMDATFolding': '1', + 'OptimizeReferences': '1', + } + }, + }], + ['angle_build_winphone==1', + { + 'msvs_enable_winphone' : '1', + }], ], }, - ], ], } diff --git a/src/libGLESv2/BinaryStream.h b/src/libGLESv2/BinaryStream.h index 4d7dde04..4f7f5f2c 100644 --- a/src/libGLESv2/BinaryStream.h +++ b/src/libGLESv2/BinaryStream.h @@ -15,6 +15,7 @@ #include <cstddef> #include <string> #include <vector> +#include <stdint.h> namespace gl { @@ -26,7 +27,7 @@ class BinaryInputStream { mError = false; mOffset = 0; - mData = static_cast<const char*>(data); + mData = static_cast<const uint8_t*>(data); mLength = length; } @@ -85,7 +86,7 @@ class BinaryInputStream return; } - v->assign(mData + mOffset, length); + v->assign(reinterpret_cast<const char *>(mData) + mOffset, length); mOffset += length; } @@ -115,11 +116,16 @@ class BinaryInputStream return mOffset == mLength; } + const uint8_t *data() + { + return mData; + } + private: DISALLOW_COPY_AND_ASSIGN(BinaryInputStream); bool mError; size_t mOffset; - const char *mData; + const uint8_t *mData; size_t mLength; template <typename T> diff --git a/src/libGLESv2/Caps.cpp b/src/libGLESv2/Caps.cpp index 0c2b8210..983800c0 100644 --- a/src/libGLESv2/Caps.cpp +++ b/src/libGLESv2/Caps.cpp @@ -182,12 +182,17 @@ std::vector<std::string> Extensions::getStrings() const } static bool GetFormatSupport(const TextureCapsMap &textureCaps, const std::vector<GLenum> &requiredFormats, - bool requiresFiltering, bool requiresRendering) + bool requiresTexturing, bool requiresFiltering, bool requiresRendering) { for (size_t i = 0; i < requiredFormats.size(); i++) { const TextureCaps &cap = textureCaps.get(requiredFormats[i]); + if (requiresTexturing && !cap.texturable) + { + return false; + } + if (requiresFiltering && !cap.filterable) { return false; @@ -209,7 +214,7 @@ static bool DetermineRGB8AndRGBA8TextureSupport(const TextureCapsMap &textureCap requiredFormats.push_back(GL_RGB8); requiredFormats.push_back(GL_RGBA8); - return GetFormatSupport(textureCaps, requiredFormats, true, true); + return GetFormatSupport(textureCaps, requiredFormats, true, true, true); } // Checks for GL_EXT_texture_format_BGRA8888 support @@ -218,7 +223,7 @@ static bool DetermineBGRA8TextureSupport(const TextureCapsMap &textureCaps) std::vector<GLenum> requiredFormats; requiredFormats.push_back(GL_BGRA8_EXT); - return GetFormatSupport(textureCaps, requiredFormats, true, true); + return GetFormatSupport(textureCaps, requiredFormats, true, true, true); } // Checks for GL_OES_texture_half_float support @@ -228,7 +233,7 @@ static bool DetermineHalfFloatTextureSupport(const TextureCapsMap &textureCaps) requiredFormats.push_back(GL_RGB16F); requiredFormats.push_back(GL_RGBA16F); - return GetFormatSupport(textureCaps, requiredFormats, false, true); + return GetFormatSupport(textureCaps, requiredFormats, true, false, true); } // Checks for GL_OES_texture_half_float_linear support @@ -238,7 +243,7 @@ static bool DetermineHalfFloatTextureFilteringSupport(const TextureCapsMap &text requiredFormats.push_back(GL_RGB16F); requiredFormats.push_back(GL_RGBA16F); - return GetFormatSupport(textureCaps, requiredFormats, true, false); + return GetFormatSupport(textureCaps, requiredFormats, true, true, false); } // Checks for GL_OES_texture_float support @@ -248,7 +253,7 @@ static bool DetermineFloatTextureSupport(const TextureCapsMap &textureCaps) requiredFormats.push_back(GL_RGB32F); requiredFormats.push_back(GL_RGBA32F); - return GetFormatSupport(textureCaps, requiredFormats, false, true); + return GetFormatSupport(textureCaps, requiredFormats, true, false, true); } // Checks for GL_OES_texture_float_linear support @@ -258,7 +263,7 @@ static bool DetermineFloatTextureFilteringSupport(const TextureCapsMap &textureC requiredFormats.push_back(GL_RGB32F); requiredFormats.push_back(GL_RGBA32F); - return GetFormatSupport(textureCaps, requiredFormats, true, false); + return GetFormatSupport(textureCaps, requiredFormats, true, true, false); } // Checks for GL_EXT_texture_rg support @@ -278,7 +283,7 @@ static bool DetermineRGTextureSupport(const TextureCapsMap &textureCaps, bool ch requiredFormats.push_back(GL_RG32F); } - return GetFormatSupport(textureCaps, requiredFormats, true, false); + return GetFormatSupport(textureCaps, requiredFormats, true, true, false); } // Check for GL_EXT_texture_compression_dxt1 @@ -288,7 +293,7 @@ static bool DetermineDXT1TextureSupport(const TextureCapsMap &textureCaps) requiredFormats.push_back(GL_COMPRESSED_RGB_S3TC_DXT1_EXT); requiredFormats.push_back(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT); - return GetFormatSupport(textureCaps, requiredFormats, true, false); + return GetFormatSupport(textureCaps, requiredFormats, true, true, false); } // Check for GL_ANGLE_texture_compression_dxt3 @@ -297,7 +302,7 @@ static bool DetermineDXT3TextureSupport(const TextureCapsMap &textureCaps) std::vector<GLenum> requiredFormats; requiredFormats.push_back(GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE); - return GetFormatSupport(textureCaps, requiredFormats, true, false); + return GetFormatSupport(textureCaps, requiredFormats, true, true, false); } // Check for GL_ANGLE_texture_compression_dxt5 @@ -306,7 +311,7 @@ static bool DetermineDXT5TextureSupport(const TextureCapsMap &textureCaps) std::vector<GLenum> requiredFormats; requiredFormats.push_back(GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE); - return GetFormatSupport(textureCaps, requiredFormats, true, false); + return GetFormatSupport(textureCaps, requiredFormats, true, true, false); } // Check for GL_ANGLE_texture_compression_dxt5 @@ -319,8 +324,8 @@ static bool DetermineSRGBTextureSupport(const TextureCapsMap &textureCaps) std::vector<GLenum> requiredRenderFormats; requiredRenderFormats.push_back(GL_SRGB8_ALPHA8); - return GetFormatSupport(textureCaps, requiredFilterFormats, true, false) && - GetFormatSupport(textureCaps, requiredRenderFormats, false, true); + return GetFormatSupport(textureCaps, requiredFilterFormats, true, true, false) && + GetFormatSupport(textureCaps, requiredRenderFormats, true, false, true); } // Check for GL_ANGLE_depth_texture @@ -331,7 +336,7 @@ static bool DetermineDepthTextureSupport(const TextureCapsMap &textureCaps) requiredFormats.push_back(GL_DEPTH_COMPONENT32_OES); requiredFormats.push_back(GL_DEPTH24_STENCIL8_OES); - return GetFormatSupport(textureCaps, requiredFormats, true, true); + return GetFormatSupport(textureCaps, requiredFormats, true, true, true); } // Check for GL_EXT_color_buffer_float @@ -346,7 +351,7 @@ static bool DetermineColorBufferFloatSupport(const TextureCapsMap &textureCaps) requiredFormats.push_back(GL_RGBA32F); requiredFormats.push_back(GL_R11F_G11F_B10F); - return GetFormatSupport(textureCaps, requiredFormats, false, true); + return GetFormatSupport(textureCaps, requiredFormats, true, false, true); } void Extensions::setTextureExtensionSupport(const TextureCapsMap &textureCaps) diff --git a/src/libGLESv2/constants.h b/src/libGLESv2/Constants.h index 69c4823f..69c4823f 100644 --- a/src/libGLESv2/constants.h +++ b/src/libGLESv2/Constants.h diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp index c467fa8b..b6b54721 100644 --- a/src/libGLESv2/Context.cpp +++ b/src/libGLESv2/Context.cpp @@ -33,6 +33,7 @@ #include "libEGL/Surface.h" #include <sstream> +#include <iterator> namespace gl { @@ -90,13 +91,13 @@ Context::Context(int clientVersion, const gl::Context *shareContext, rx::Rendere bindRenderbuffer(0); bindGenericUniformBuffer(0); - for (int i = 0; i < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS; i++) + for (unsigned int i = 0; i < mCaps.maxCombinedUniformBlocks; i++) { bindIndexedUniformBuffer(0, i, 0, -1); } bindGenericTransformFeedbackBuffer(0); - for (int i = 0; i < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS; i++) + for (unsigned int i = 0; i < mCaps.maxTransformFeedbackSeparateAttributes; i++) { bindIndexedTransformFeedbackBuffer(0, i, 0, -1); } @@ -118,8 +119,6 @@ Context::Context(int clientVersion, const gl::Context *shareContext, rx::Rendere mResetStatus = GL_NO_ERROR; mResetStrategy = (notifyResets ? GL_LOSE_CONTEXT_ON_RESET_EXT : GL_NO_RESET_NOTIFICATION_EXT); mRobustAccess = robustAccess; - - mState.setContext(this); } Context::~Context() @@ -241,15 +240,10 @@ GLuint Context::createRenderbuffer() return mResourceManager->createRenderbuffer(); } -GLsync Context::createFenceSync(GLenum condition) +GLsync Context::createFenceSync() { GLuint handle = mResourceManager->createFenceSync(); - gl::FenceSync *fenceSync = mResourceManager->getFenceSync(handle); - ASSERT(fenceSync); - - fenceSync->set(condition); - return reinterpret_cast<GLsync>(handle); } @@ -293,7 +287,7 @@ GLuint Context::createFenceNV() { GLuint handle = mFenceNVHandleAllocator.allocate(); - mFenceNVMap[handle] = new FenceNV(mRenderer); + mFenceNVMap[handle] = new FenceNV(mRenderer->createFenceNV()); return handle; } @@ -354,7 +348,7 @@ void Context::deleteFenceSync(GLsync fenceSync) // wait commands finish. However, since the name becomes invalid, we cannot query the fence, // and since our API is currently designed for being called from a single thread, we can delete // the fence immediately. - mResourceManager->deleteFenceSync(reinterpret_cast<GLuint>(fenceSync)); + mResourceManager->deleteFenceSync(reinterpret_cast<uintptr_t>(fenceSync)); } void Context::deleteVertexArray(GLuint vertexArray) @@ -460,7 +454,7 @@ Renderbuffer *Context::getRenderbuffer(GLuint handle) FenceSync *Context::getFenceSync(GLsync handle) const { - return mResourceManager->getFenceSync(reinterpret_cast<GLuint>(handle)); + return mResourceManager->getFenceSync(reinterpret_cast<uintptr_t>(handle)); } VertexArray *Context::getVertexArray(GLuint handle) const @@ -639,33 +633,44 @@ void Context::useProgram(GLuint program) } } -void Context::linkProgram(GLuint program) +Error Context::linkProgram(GLuint program) { Program *programObject = mResourceManager->getProgram(program); - bool linked = programObject->link(getCaps()); + Error error = programObject->link(getCaps()); + if (error.isError()) + { + return error; + } // if the current program was relinked successfully we // need to install the new executables - if (linked && program == mState.getCurrentProgramId()) + if (programObject->isLinked() && program == mState.getCurrentProgramId()) { mState.setCurrentProgramBinary(programObject->getProgramBinary()); } + + return Error(GL_NO_ERROR); } -void Context::setProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLint length) +Error Context::setProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLint length) { Program *programObject = mResourceManager->getProgram(program); - bool loaded = programObject->setProgramBinary(binaryFormat, binary, length); + Error error = programObject->setProgramBinary(binaryFormat, binary, length); + if (error.isError()) + { + return error; + } // if the current program was reloaded successfully we // need to install the new executables - if (loaded && program == mState.getCurrentProgramId()) + if (programObject->isLinked() && program == mState.getCurrentProgramId()) { mState.setCurrentProgramBinary(programObject->getProgramBinary()); } + return Error(GL_NO_ERROR); } void Context::bindTransformFeedback(GLuint transformFeedback) @@ -1310,12 +1315,16 @@ bool Context::getIndexedQueryParameterInfo(GLenum target, GLenum *type, unsigned // Applies the render target surface, depth stencil surface, viewport rectangle and // scissor rectangle to the renderer -void Context::applyRenderTarget(GLenum drawMode, bool ignoreViewport) +Error Context::applyRenderTarget(GLenum drawMode, bool ignoreViewport) { Framebuffer *framebufferObject = mState.getDrawFramebuffer(); ASSERT(framebufferObject && framebufferObject->completeness() == GL_FRAMEBUFFER_COMPLETE); - mRenderer->applyRenderTarget(framebufferObject); + gl::Error error = mRenderer->applyRenderTarget(framebufferObject); + if (error.isError()) + { + return error; + } float nearZ, farZ; mState.getDepthRange(&nearZ, &farZ); @@ -1323,10 +1332,12 @@ void Context::applyRenderTarget(GLenum drawMode, bool ignoreViewport) ignoreViewport); mRenderer->setScissorRectangle(mState.getScissor(), mState.isScissorTestEnabled()); + + return gl::Error(GL_NO_ERROR); } // Applies the fixed-function state (culling, depth test, alpha blending, stenciling, etc) to the Direct3D 9 device -void Context::applyState(GLenum drawMode) +Error Context::applyState(GLenum drawMode) { Framebuffer *framebufferObject = mState.getDrawFramebuffer(); int samples = framebufferObject->getSamples(); @@ -1335,7 +1346,11 @@ void Context::applyState(GLenum drawMode) rasterizer.pointDrawMode = (drawMode == GL_POINTS); rasterizer.multiSample = (samples != 0); - mRenderer->setRasterizerState(rasterizer); + Error error = mRenderer->setRasterizerState(rasterizer); + if (error.isError()) + { + return error; + } unsigned int mask = 0; if (mState.isSampleCoverageEnabled()) @@ -1345,7 +1360,6 @@ void Context::applyState(GLenum drawMode) mState.getSampleCoverageParams(&coverageValue, &coverageInvert); if (coverageValue != 0) { - float threshold = 0.5f; for (int i = 0; i < samples; ++i) @@ -1369,28 +1383,40 @@ void Context::applyState(GLenum drawMode) { mask = 0xFFFFFFFF; } - mRenderer->setBlendState(framebufferObject, mState.getBlendState(), mState.getBlendColor(), mask); + error = mRenderer->setBlendState(framebufferObject, mState.getBlendState(), mState.getBlendColor(), mask); + if (error.isError()) + { + return error; + } + + error = mRenderer->setDepthStencilState(mState.getDepthStencilState(), mState.getStencilRef(), mState.getStencilBackRef(), + rasterizer.frontFace == GL_CCW); + if (error.isError()) + { + return error; + } - mRenderer->setDepthStencilState(mState.getDepthStencilState(), mState.getStencilRef(), mState.getStencilBackRef(), - rasterizer.frontFace == GL_CCW); + return Error(GL_NO_ERROR); } // Applies the shaders and shader constants to the Direct3D 9 device -void Context::applyShaders(ProgramBinary *programBinary, bool transformFeedbackActive) +Error Context::applyShaders(ProgramBinary *programBinary, bool transformFeedbackActive) { - const VertexAttribute *vertexAttributes = mState.getVertexArray()->getVertexAttributes(); - VertexFormat inputLayout[MAX_VERTEX_ATTRIBS]; - VertexFormat::GetInputLayout(inputLayout, programBinary, vertexAttributes, mState.getVertexAttribCurrentValues()); + VertexFormat::GetInputLayout(inputLayout, programBinary, mState); const Framebuffer *fbo = mState.getDrawFramebuffer(); - mRenderer->applyShaders(programBinary, inputLayout, fbo, mState.getRasterizerState().rasterizerDiscard, transformFeedbackActive); + Error error = mRenderer->applyShaders(programBinary, inputLayout, fbo, mState.getRasterizerState().rasterizerDiscard, transformFeedbackActive); + if (error.isError()) + { + return error; + } - programBinary->applyUniforms(); + return programBinary->applyUniforms(); } -void Context::generateSwizzles(ProgramBinary *programBinary, SamplerType type) +Error Context::generateSwizzles(ProgramBinary *programBinary, SamplerType type) { size_t samplerRange = programBinary->getUsedSamplerRange(type); @@ -1403,23 +1429,40 @@ void Context::generateSwizzles(ProgramBinary *programBinary, SamplerType type) Texture* texture = getSamplerTexture(textureUnit, textureType); if (texture->getSamplerState().swizzleRequired()) { - mRenderer->generateSwizzle(texture); + Error error = mRenderer->generateSwizzle(texture); + if (error.isError()) + { + return error; + } } } } + + return Error(GL_NO_ERROR); } -void Context::generateSwizzles(ProgramBinary *programBinary) +Error Context::generateSwizzles(ProgramBinary *programBinary) { - generateSwizzles(programBinary, SAMPLER_VERTEX); - generateSwizzles(programBinary, SAMPLER_PIXEL); + Error error = generateSwizzles(programBinary, SAMPLER_VERTEX); + if (error.isError()) + { + return error; + } + + error = generateSwizzles(programBinary, SAMPLER_PIXEL); + if (error.isError()) + { + return error; + } + + return Error(GL_NO_ERROR); } // For each Direct3D sampler of either the pixel or vertex stage, // looks up the corresponding OpenGL texture image unit and texture type, // and sets the texture and its addressing/filtering state (or NULL when inactive). -void Context::applyTextures(ProgramBinary *programBinary, SamplerType shaderType, - const FramebufferTextureSerialArray &framebufferSerials, size_t framebufferSerialCount) +Error Context::applyTextures(ProgramBinary *programBinary, SamplerType shaderType, + const FramebufferTextureSerialArray &framebufferSerials, size_t framebufferSerialCount) { size_t samplerRange = programBinary->getUsedSamplerRange(shaderType); for (size_t samplerIndex = 0; samplerIndex < samplerRange; samplerIndex++) @@ -1428,9 +1471,8 @@ void Context::applyTextures(ProgramBinary *programBinary, SamplerType shaderType GLint textureUnit = programBinary->getSamplerMapping(shaderType, samplerIndex, getCaps()); if (textureUnit != -1) { - SamplerState sampler; - Texture* texture = getSamplerTexture(textureUnit, textureType); - texture->getSamplerStateWithNativeOffset(&sampler); + Texture *texture = getSamplerTexture(textureUnit, textureType); + SamplerState sampler = texture->getSamplerState(); Sampler *samplerObject = mState.getSampler(textureUnit); if (samplerObject) @@ -1442,20 +1484,37 @@ void Context::applyTextures(ProgramBinary *programBinary, SamplerType shaderType if (texture->isSamplerComplete(sampler, mTextureCaps, mExtensions, mClientVersion) && !std::binary_search(framebufferSerials.begin(), framebufferSerials.begin() + framebufferSerialCount, texture->getTextureSerial())) { - mRenderer->setSamplerState(shaderType, samplerIndex, sampler); - mRenderer->setTexture(shaderType, samplerIndex, texture); + Error error = mRenderer->setSamplerState(shaderType, samplerIndex, texture, sampler); + if (error.isError()) + { + return error; + } + + error = mRenderer->setTexture(shaderType, samplerIndex, texture); + if (error.isError()) + { + return error; + } } else { // Texture is not sampler complete or it is in use by the framebuffer. Bind the incomplete texture. Texture *incompleteTexture = getIncompleteTexture(textureType); - mRenderer->setTexture(shaderType, samplerIndex, incompleteTexture); + gl::Error error = mRenderer->setTexture(shaderType, samplerIndex, incompleteTexture); + if (error.isError()) + { + return error; + } } } else { // No texture bound to this slot even though it is used by the shader, bind a NULL texture - mRenderer->setTexture(shaderType, samplerIndex, NULL); + Error error = mRenderer->setTexture(shaderType, samplerIndex, NULL); + if (error.isError()) + { + return error; + } } } @@ -1464,20 +1523,37 @@ void Context::applyTextures(ProgramBinary *programBinary, SamplerType shaderType : mCaps.maxVertexTextureImageUnits; for (size_t samplerIndex = samplerRange; samplerIndex < samplerCount; samplerIndex++) { - mRenderer->setTexture(shaderType, samplerIndex, NULL); + Error error = mRenderer->setTexture(shaderType, samplerIndex, NULL); + if (error.isError()) + { + return error; + } } + + return Error(GL_NO_ERROR); } -void Context::applyTextures(ProgramBinary *programBinary) +Error Context::applyTextures(ProgramBinary *programBinary) { FramebufferTextureSerialArray framebufferSerials; size_t framebufferSerialCount = getBoundFramebufferTextureSerials(&framebufferSerials); - applyTextures(programBinary, SAMPLER_VERTEX, framebufferSerials, framebufferSerialCount); - applyTextures(programBinary, SAMPLER_PIXEL, framebufferSerials, framebufferSerialCount); + Error error = applyTextures(programBinary, SAMPLER_VERTEX, framebufferSerials, framebufferSerialCount); + if (error.isError()) + { + return error; + } + + error = applyTextures(programBinary, SAMPLER_PIXEL, framebufferSerials, framebufferSerialCount); + if (error.isError()) + { + return error; + } + + return Error(GL_NO_ERROR); } -bool Context::applyUniformBuffers() +Error Context::applyUniformBuffers() { Program *programObject = getProgram(mState.getCurrentProgramId()); ProgramBinary *programBinary = programObject->getProgramBinary(); @@ -1491,7 +1567,7 @@ bool Context::applyUniformBuffers() if (mState.getIndexedUniformBuffer(blockBinding)->id() == 0) { // undefined behaviour - return false; + return gl::Error(GL_INVALID_OPERATION, "It is undefined behaviour to have a used but unbound uniform buffer."); } else { @@ -1509,14 +1585,7 @@ bool Context::applyTransformFeedbackBuffers() TransformFeedback *curTransformFeedback = mState.getCurrentTransformFeedback(); if (curTransformFeedback && curTransformFeedback->isStarted() && !curTransformFeedback->isPaused()) { - Buffer *transformFeedbackBuffers[IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; - GLintptr transformFeedbackOffsets[IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; - for (size_t i = 0; i < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS; i++) - { - transformFeedbackBuffers[i] = mState.getIndexedTransformFeedbackBuffer(i); - transformFeedbackOffsets[i] = mState.getIndexedTransformFeedbackBufferOffset(i); - } - mRenderer->applyTransformFeedbackBuffers(transformFeedbackBuffers, transformFeedbackOffsets); + mRenderer->applyTransformFeedbackBuffers(mState); return true; } else @@ -1527,7 +1596,7 @@ bool Context::applyTransformFeedbackBuffers() void Context::markTransformFeedbackUsage() { - for (size_t i = 0; i < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS; i++) + for (size_t i = 0; i < mCaps.maxTransformFeedbackSeparateAttributes; i++) { Buffer *buffer = mState.getIndexedTransformFeedbackBuffer(i); if (buffer) @@ -1546,7 +1615,11 @@ Error Context::clear(GLbitfield mask) ClearParameters clearParams = mState.getClearParameters(mask); - applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + Error error = applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + if (error.isError()) + { + return error; + } return mRenderer->clear(clearParams, mState.getDrawFramebuffer()); } @@ -1577,7 +1650,11 @@ Error Context::clearBufferfv(GLenum buffer, int drawbuffer, const float *values) clearParams.depthClearValue = values[0]; } - applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + Error error = applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + if (error.isError()) + { + return error; + } return mRenderer->clear(clearParams, mState.getDrawFramebuffer()); } @@ -1598,7 +1675,11 @@ Error Context::clearBufferuiv(GLenum buffer, int drawbuffer, const unsigned int clearParams.colorUIClearValue = ColorUI(values[0], values[1], values[2], values[3]); clearParams.colorClearType = GL_UNSIGNED_INT; - applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + Error error = applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + if (error.isError()) + { + return error; + } return mRenderer->clear(clearParams, mState.getDrawFramebuffer()); } @@ -1629,7 +1710,11 @@ Error Context::clearBufferiv(GLenum buffer, int drawbuffer, const int *values) clearParams.stencilClearValue = values[1]; } - applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + Error error = applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + if (error.isError()) + { + return error; + } return mRenderer->clear(clearParams, mState.getDrawFramebuffer()); } @@ -1648,7 +1733,11 @@ Error Context::clearBufferfi(GLenum buffer, int drawbuffer, float depth, int ste clearParams.clearStencil = true; clearParams.stencilClearValue = stencil; - applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + Error error = applyRenderTarget(GL_TRIANGLES, true); // Clips the clear to the scissor rectangle but not the viewport + if (error.isError()) + { + return error; + } return mRenderer->clear(clearParams, mState.getDrawFramebuffer()); } @@ -1666,86 +1755,125 @@ Error Context::readPixels(GLint x, GLint y, GLsizei width, GLsizei height, reinterpret_cast<uint8_t*>(pixels)); } -void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instances) +Error Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instances) { ASSERT(mState.getCurrentProgramId() != 0); ProgramBinary *programBinary = mState.getCurrentProgramBinary(); programBinary->updateSamplerMapping(); - generateSwizzles(programBinary); + Error error = generateSwizzles(programBinary); + if (error.isError()) + { + return error; + } if (!mRenderer->applyPrimitiveType(mode, count)) { - return; + return Error(GL_NO_ERROR); } - applyRenderTarget(mode, false); - applyState(mode); + error = applyRenderTarget(mode, false); + if (error.isError()) + { + return error; + } - Error error = mRenderer->applyVertexBuffer(programBinary, mState.getVertexArray()->getVertexAttributes(), mState.getVertexAttribCurrentValues(), first, count, instances); + error = applyState(mode); if (error.isError()) { - return gl::error(error.getCode()); + return error; + } + + error = mRenderer->applyVertexBuffer(mState, first, count, instances); + if (error.isError()) + { + return error; } bool transformFeedbackActive = applyTransformFeedbackBuffers(); - applyShaders(programBinary, transformFeedbackActive); + error = applyShaders(programBinary, transformFeedbackActive); + if (error.isError()) + { + return error; + } - applyTextures(programBinary); + error = applyTextures(programBinary); + if (error.isError()) + { + return error; + } - if (!applyUniformBuffers()) + error = applyUniformBuffers(); + if (error.isError()) { - return; + return error; } if (!skipDraw(mode)) { - mRenderer->drawArrays(mode, count, instances, transformFeedbackActive); + error = mRenderer->drawArrays(mode, count, instances, transformFeedbackActive); + if (error.isError()) + { + return error; + } if (transformFeedbackActive) { markTransformFeedbackUsage(); } } + + return gl::Error(GL_NO_ERROR); } -void Context::drawElements(GLenum mode, GLsizei count, GLenum type, - const GLvoid *indices, GLsizei instances, - const rx::RangeUI &indexRange) +Error Context::drawElements(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLsizei instances, + const rx::RangeUI &indexRange) { ASSERT(mState.getCurrentProgramId() != 0); ProgramBinary *programBinary = mState.getCurrentProgramBinary(); programBinary->updateSamplerMapping(); - generateSwizzles(programBinary); + Error error = generateSwizzles(programBinary); + if (error.isError()) + { + return error; + } if (!mRenderer->applyPrimitiveType(mode, count)) { - return; + return Error(GL_NO_ERROR); + } + + error = applyRenderTarget(mode, false); + if (error.isError()) + { + return error; } - applyRenderTarget(mode, false); - applyState(mode); + error = applyState(mode); + if (error.isError()) + { + return error; + } VertexArray *vao = mState.getVertexArray(); rx::TranslatedIndexData indexInfo; indexInfo.indexRange = indexRange; - Error error = mRenderer->applyIndexBuffer(indices, vao->getElementArrayBuffer(), count, mode, type, &indexInfo); + error = mRenderer->applyIndexBuffer(indices, vao->getElementArrayBuffer(), count, mode, type, &indexInfo); if (error.isError()) { - return gl::error(error.getCode()); + return error; } GLsizei vertexCount = indexInfo.indexRange.length() + 1; - error = mRenderer->applyVertexBuffer(programBinary, vao->getVertexAttributes(), - mState.getVertexAttribCurrentValues(), - indexInfo.indexRange.start, vertexCount, instances); + error = mRenderer->applyVertexBuffer(mState, indexInfo.indexRange.start, vertexCount, instances); if (error.isError()) { - return gl::error(error.getCode()); + return error; } bool transformFeedbackActive = applyTransformFeedbackBuffers(); @@ -1753,25 +1881,40 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, // layer. ASSERT(!transformFeedbackActive); - applyShaders(programBinary, transformFeedbackActive); + error = applyShaders(programBinary, transformFeedbackActive); + if (error.isError()) + { + return error; + } - applyTextures(programBinary); + error = applyTextures(programBinary); + if (error.isError()) + { + return error; + } - if (!applyUniformBuffers()) + error = applyUniformBuffers(); + if (error.isError()) { - return; + return error; } if (!skipDraw(mode)) { - mRenderer->drawElements(mode, count, type, indices, vao->getElementArrayBuffer(), indexInfo, instances); + error = mRenderer->drawElements(mode, count, type, indices, vao->getElementArrayBuffer(), indexInfo, instances); + if (error.isError()) + { + return error; + } } + + return Error(GL_NO_ERROR); } // Implements glFlush when block is false, glFinish when block is true -void Context::sync(bool block) +Error Context::sync(bool block) { - mRenderer->sync(block); + return mRenderer->sync(block); } void Context::recordError(const Error &error) @@ -1967,12 +2110,12 @@ Texture *Context::getIncompleteTexture(GLenum type) { TextureCubeMap *incompleteCube = new TextureCubeMap(mRenderer->createTexture(GL_TEXTURE_CUBE_MAP), Texture::INCOMPLETE_TEXTURE_ID); - incompleteCube->setImagePosX(0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); - incompleteCube->setImageNegX(0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); - incompleteCube->setImagePosY(0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); - incompleteCube->setImageNegY(0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); - incompleteCube->setImagePosZ(0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); - incompleteCube->setImageNegZ(0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); + incompleteCube->setImage(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); + incompleteCube->setImage(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); + incompleteCube->setImage(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); + incompleteCube->setImage(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); + incompleteCube->setImage(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); + incompleteCube->setImage(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, 1, 1, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, incompleteUnpackState, color); t = incompleteCube; } @@ -2189,8 +2332,8 @@ size_t Context::getBoundFramebufferTextureSerials(FramebufferTextureSerialArray return serialCount; } -void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, - GLbitfield mask, GLenum filter) +Error Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter) { Framebuffer *readFramebuffer = mState.getReadFramebuffer(); Framebuffer *drawFramebuffer = mState.getDrawFramebuffer(); @@ -2215,10 +2358,16 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1 Rectangle dstRect(dstX0, dstY0, dstX1 - dstX0, dstY1 - dstY0); if (blitRenderTarget || blitDepth || blitStencil) { - const Rectangle *scissor = mState.isScissorTestEnabled() ? &mState.getScissor() : NULL; - mRenderer->blitRect(readFramebuffer, srcRect, drawFramebuffer, dstRect, scissor, - blitRenderTarget, blitDepth, blitStencil, filter); + const gl::Rectangle *scissor = mState.isScissorTestEnabled() ? &mState.getScissor() : NULL; + gl::Error error = mRenderer->blitRect(readFramebuffer, srcRect, drawFramebuffer, dstRect, scissor, + blitRenderTarget, blitDepth, blitStencil, filter); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } void Context::releaseShaderCompiler() @@ -2261,26 +2410,25 @@ void Context::initCaps(GLuint clientVersion) TextureCaps formatCaps = i->second; const InternalFormat &formatInfo = GetInternalFormatInfo(format); - if (formatCaps.texturable && formatInfo.textureSupport(clientVersion, mExtensions)) - { - // Update the format caps based on the client version and extensions - formatCaps.renderable = formatInfo.renderSupport(clientVersion, mExtensions); - formatCaps.filterable = formatInfo.filterSupport(clientVersion, mExtensions); - // OpenGL ES does not support multisampling with integer formats - if (formatInfo.componentType == GL_INT || formatInfo.componentType == GL_UNSIGNED_INT) - { - formatCaps.sampleCounts.clear(); - } - maxSamples = std::max(maxSamples, formatCaps.getMaxSamples()); + // Update the format caps based on the client version and extensions + formatCaps.texturable = formatInfo.textureSupport(clientVersion, mExtensions); + formatCaps.renderable = formatInfo.renderSupport(clientVersion, mExtensions); + formatCaps.filterable = formatInfo.filterSupport(clientVersion, mExtensions); - if (formatInfo.compressed) - { - mCaps.compressedTextureFormats.push_back(format); - } + // OpenGL ES does not support multisampling with integer formats + if (!formatInfo.renderSupport || formatInfo.componentType == GL_INT || formatInfo.componentType == GL_UNSIGNED_INT) + { + formatCaps.sampleCounts.clear(); + } + maxSamples = std::max(maxSamples, formatCaps.getMaxSamples()); - mTextureCaps.insert(format, formatCaps); + if (formatCaps.texturable && formatInfo.compressed) + { + mCaps.compressedTextureFormats.push_back(format); } + + mTextureCaps.insert(format, formatCaps); } mExtensions.maxSamples = maxSamples; diff --git a/src/libGLESv2/Context.h b/src/libGLESv2/Context.h index bf886a83..46364bd6 100644 --- a/src/libGLESv2/Context.h +++ b/src/libGLESv2/Context.h @@ -86,7 +86,7 @@ class Context GLuint createRenderbuffer(); GLuint createSampler(); GLuint createTransformFeedback(); - GLsync createFenceSync(GLenum condition); + GLsync createFenceSync(); void deleteBuffer(GLuint buffer); void deleteShader(GLuint shader); @@ -130,8 +130,8 @@ class Context void bindPixelPackBuffer(GLuint buffer); void bindPixelUnpackBuffer(GLuint buffer); void useProgram(GLuint program); - void linkProgram(GLuint program); - void setProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLint length); + Error linkProgram(GLuint program); + Error setProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLint length); void bindTransformFeedback(GLuint transformFeedback); Error beginQuery(GLenum target, GLuint query); @@ -189,11 +189,11 @@ class Context Error clearBufferfi(GLenum buffer, int drawbuffer, float depth, int stencil); Error readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei *bufSize, void* pixels); - void drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instances); - void drawElements(GLenum mode, GLsizei count, GLenum type, - const GLvoid *indices, GLsizei instances, - const rx::RangeUI &indexRange); - void sync(bool block); // flush/finish + Error drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instances); + Error drawElements(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLsizei instances, + const rx::RangeUI &indexRange); + Error sync(bool block); // flush/finish void recordError(const Error &error); @@ -215,8 +215,8 @@ class Context void getCurrentReadFormatType(GLenum *internalFormat, GLenum *format, GLenum *type); - void blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, - GLbitfield mask, GLenum filter); + Error blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter); rx::Renderer *getRenderer() { return mRenderer; } @@ -231,13 +231,13 @@ class Context // TODO: std::array may become unavailable using older versions of GCC typedef std::array<unsigned int, IMPLEMENTATION_MAX_FRAMEBUFFER_ATTACHMENTS> FramebufferTextureSerialArray; - void applyRenderTarget(GLenum drawMode, bool ignoreViewport); - void applyState(GLenum drawMode); - void applyShaders(ProgramBinary *programBinary, bool transformFeedbackActive); - void applyTextures(ProgramBinary *programBinary, SamplerType shaderType, const FramebufferTextureSerialArray &framebufferSerials, - size_t framebufferSerialCount); - void applyTextures(ProgramBinary *programBinary); - bool applyUniformBuffers(); + Error applyRenderTarget(GLenum drawMode, bool ignoreViewport); + Error applyState(GLenum drawMode); + Error applyShaders(ProgramBinary *programBinary, bool transformFeedbackActive); + Error applyTextures(ProgramBinary *programBinary, SamplerType shaderType, const FramebufferTextureSerialArray &framebufferSerials, + size_t framebufferSerialCount); + Error applyTextures(ProgramBinary *programBinary); + Error applyUniformBuffers(); bool applyTransformFeedbackBuffers(); void markTransformFeedbackUsage(); @@ -249,8 +249,8 @@ class Context void detachTransformFeedback(GLuint transformFeedback); void detachSampler(GLuint sampler); - void generateSwizzles(ProgramBinary *programBinary, SamplerType type); - void generateSwizzles(ProgramBinary *programBinary); + Error generateSwizzles(ProgramBinary *programBinary, SamplerType type); + Error generateSwizzles(ProgramBinary *programBinary); Texture *getIncompleteTexture(GLenum type); diff --git a/src/libGLESv2/Fence.cpp b/src/libGLESv2/Fence.cpp index ee9a07a5..966a327d 100644 --- a/src/libGLESv2/Fence.cpp +++ b/src/libGLESv2/Fence.cpp @@ -4,191 +4,113 @@ // found in the LICENSE file. // -// Fence.cpp: Implements the gl::Fence class, which supports the GL_NV_fence extension. - -// Important note on accurate timers in Windows: -// -// QueryPerformanceCounter has a few major issues, including being 10x as expensive to call -// as timeGetTime on laptops and "jumping" during certain hardware events. -// -// See the comments at the top of the Chromium source file "chromium/src/base/time/time_win.cc" -// https://code.google.com/p/chromium/codesearch#chromium/src/base/time/time_win.cc -// -// We still opt to use QPC. In the present and moving forward, most newer systems will not suffer -// from buggy implementations. +// Fence.cpp: Implements the gl::FenceNV and gl::FenceSync classes, which support the GL_NV_fence +// extension and GLES3 sync objects. #include "libGLESv2/Fence.h" #include "libGLESv2/renderer/FenceImpl.h" #include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/main.h" +#include "common/utilities.h" #include "angle_gl.h" namespace gl { -FenceNV::FenceNV(rx::Renderer *renderer) +FenceNV::FenceNV(rx::FenceNVImpl *impl) + : mFence(impl), + mIsSet(false), + mStatus(GL_FALSE), + mCondition(GL_NONE) { - mFence = renderer->createFence(); } FenceNV::~FenceNV() { - delete mFence; + SafeDelete(mFence); } GLboolean FenceNV::isFence() const { // GL_NV_fence spec: // A name returned by GenFencesNV, but not yet set via SetFenceNV, is not the name of an existing fence. - return (mFence->isSet() ? GL_TRUE : GL_FALSE); + return (mIsSet ? GL_TRUE : GL_FALSE); } -void FenceNV::setFence(GLenum condition) +Error FenceNV::setFence(GLenum condition) { - mFence->set(); + Error error = mFence->set(); + if (error.isError()) + { + return error; + } mCondition = condition; mStatus = GL_FALSE; -} - -GLboolean FenceNV::testFence() -{ - // Flush the command buffer by default - bool result = mFence->test(true); + mIsSet = true; - mStatus = (result ? GL_TRUE : GL_FALSE); - return mStatus; + return Error(GL_NO_ERROR); } -void FenceNV::finishFence() +Error FenceNV::testFence(GLboolean *outResult) { - ASSERT(mFence->isSet()); - - while (!mFence->test(true)) + // Flush the command buffer by default + Error error = mFence->test(true, &mStatus); + if (error.isError()) { - Sleep(0); + return error; } -} - -GLint FenceNV::getFencei(GLenum pname) -{ - ASSERT(mFence->isSet()); - switch (pname) - { - case GL_FENCE_STATUS_NV: - { - // GL_NV_fence spec: - // Once the status of a fence has been finished (via FinishFenceNV) or tested and the returned status is TRUE (via either TestFenceNV - // or GetFenceivNV querying the FENCE_STATUS_NV), the status remains TRUE until the next SetFenceNV of the fence. - if (mStatus == GL_TRUE) - { - return GL_TRUE; - } - - mStatus = (mFence->test(false) ? GL_TRUE : GL_FALSE); - return mStatus; - } - - case GL_FENCE_CONDITION_NV: - return mCondition; - - default: UNREACHABLE(); return 0; - } + *outResult = mStatus; + return Error(GL_NO_ERROR); } -FenceSync::FenceSync(rx::Renderer *renderer, GLuint id) - : RefCountObject(id) +Error FenceNV::finishFence() { - mFence = renderer->createFence(); - - LARGE_INTEGER counterFreqency = { 0 }; - BOOL success = QueryPerformanceFrequency(&counterFreqency); - UNUSED_ASSERTION_VARIABLE(success); - ASSERT(success); + ASSERT(mIsSet); - mCounterFrequency = counterFreqency.QuadPart; + return mFence->finishFence(&mStatus); } -FenceSync::~FenceSync() +FenceSync::FenceSync(rx::FenceSyncImpl *impl, GLuint id) + : RefCountObject(id), + mFence(impl), + mCondition(GL_NONE) { - delete mFence; } -void FenceSync::set(GLenum condition) +FenceSync::~FenceSync() { - mCondition = condition; - mFence->set(); + SafeDelete(mFence); } -GLenum FenceSync::clientWait(GLbitfield flags, GLuint64 timeout) +Error FenceSync::set(GLenum condition) { - ASSERT(mFence->isSet()); - - bool flushCommandBuffer = ((flags & GL_SYNC_FLUSH_COMMANDS_BIT) != 0); - - if (mFence->test(flushCommandBuffer)) + Error error = mFence->set(); + if (error.isError()) { - return GL_ALREADY_SIGNALED; + return error; } - if (mFence->hasError()) - { - return GL_WAIT_FAILED; - } - - if (timeout == 0) - { - return GL_TIMEOUT_EXPIRED; - } - - LARGE_INTEGER currentCounter = { 0 }; - BOOL success = QueryPerformanceCounter(¤tCounter); - UNUSED_ASSERTION_VARIABLE(success); - ASSERT(success); - - LONGLONG timeoutInSeconds = static_cast<LONGLONG>(timeout) * static_cast<LONGLONG>(1000000ll); - LONGLONG endCounter = currentCounter.QuadPart + mCounterFrequency * timeoutInSeconds; - - while (currentCounter.QuadPart < endCounter && !mFence->test(flushCommandBuffer)) - { - Sleep(0); - BOOL success = QueryPerformanceCounter(¤tCounter); - UNUSED_ASSERTION_VARIABLE(success); - ASSERT(success); - } - - if (mFence->hasError()) - { - return GL_WAIT_FAILED; - } - - if (currentCounter.QuadPart >= endCounter) - { - return GL_TIMEOUT_EXPIRED; - } - - return GL_CONDITION_SATISFIED; + mCondition = condition; + return Error(GL_NO_ERROR); } -void FenceSync::serverWait() +Error FenceSync::clientWait(GLbitfield flags, GLuint64 timeout, GLenum *outResult) { - // Because our API is currently designed to be called from a single thread, we don't need to do - // extra work for a server-side fence. GPU commands issued after the fence is created will always - // be processed after the fence is signaled. + ASSERT(mCondition != GL_NONE); + return mFence->clientWait(flags, timeout, outResult); } -GLenum FenceSync::getStatus() const +Error FenceSync::serverWait(GLbitfield flags, GLuint64 timeout) { - if (mFence->test(false)) - { - // The spec does not specify any way to report errors during the status test (e.g. device lost) - // so we report the fence is unblocked in case of error or signaled. - return GL_SIGNALED; - } + return mFence->serverWait(flags, timeout); +} - return GL_UNSIGNALED; +Error FenceSync::getStatus(GLint *outResult) const +{ + return mFence->getStatus(outResult); } } diff --git a/src/libGLESv2/Fence.h b/src/libGLESv2/Fence.h index 291edb3d..411fa2cc 100644 --- a/src/libGLESv2/Fence.h +++ b/src/libGLESv2/Fence.h @@ -4,18 +4,22 @@ // found in the LICENSE file. // -// Fence.h: Defines the gl::Fence class, which supports the GL_NV_fence extension. +// Fence.h: Defines the gl::FenceNV and gl::FenceSync classes, which support the GL_NV_fence +// extension and GLES3 sync objects. #ifndef LIBGLESV2_FENCE_H_ #define LIBGLESV2_FENCE_H_ +#include "libGLESv2/Error.h" + #include "common/angleutils.h" #include "common/RefCountObject.h" namespace rx { class Renderer; -class FenceImpl; +class FenceNVImpl; +class FenceSyncImpl; } namespace gl @@ -24,14 +28,13 @@ namespace gl class FenceNV { public: - explicit FenceNV(rx::Renderer *renderer); + explicit FenceNV(rx::FenceNVImpl *impl); virtual ~FenceNV(); GLboolean isFence() const; - void setFence(GLenum condition); - GLboolean testFence(); - void finishFence(); - GLint getFencei(GLenum pname); + Error setFence(GLenum condition); + Error testFence(GLboolean *outResult); + Error finishFence(); GLboolean getStatus() const { return mStatus; } GLuint getCondition() const { return mCondition; } @@ -39,7 +42,9 @@ class FenceNV private: DISALLOW_COPY_AND_ASSIGN(FenceNV); - rx::FenceImpl *mFence; + rx::FenceNVImpl *mFence; + + bool mIsSet; GLboolean mStatus; GLenum mCondition; @@ -48,21 +53,20 @@ class FenceNV class FenceSync : public RefCountObject { public: - explicit FenceSync(rx::Renderer *renderer, GLuint id); + explicit FenceSync(rx::FenceSyncImpl *impl, GLuint id); virtual ~FenceSync(); - void set(GLenum condition); - GLenum clientWait(GLbitfield flags, GLuint64 timeout); - void serverWait(); - GLenum getStatus() const; + Error set(GLenum condition); + Error clientWait(GLbitfield flags, GLuint64 timeout, GLenum *outResult); + Error serverWait(GLbitfield flags, GLuint64 timeout); + Error getStatus(GLint *outResult) const; GLuint getCondition() const { return mCondition; } private: DISALLOW_COPY_AND_ASSIGN(FenceSync); - rx::FenceImpl *mFence; - LONGLONG mCounterFrequency; + rx::FenceSyncImpl *mFence; GLenum mCondition; }; diff --git a/src/libGLESv2/Framebuffer.cpp b/src/libGLESv2/Framebuffer.cpp index 5b21433f..9cd9e25c 100644 --- a/src/libGLESv2/Framebuffer.cpp +++ b/src/libGLESv2/Framebuffer.cpp @@ -16,13 +16,14 @@ #include "libGLESv2/FramebufferAttachment.h" #include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/RenderTarget.h" +#include "libGLESv2/renderer/Workarounds.h" #include "libGLESv2/renderer/d3d/TextureD3D.h" #include "common/utilities.h" namespace rx { -RenderTarget *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) +gl::Error GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment, RenderTarget **outRT) { if (attachment->isTexture()) { @@ -31,14 +32,17 @@ RenderTarget *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) TextureD3D *textureD3D = TextureD3D::makeTextureD3D(texture->getImplementation()); const gl::ImageIndex *index = attachment->getTextureImageIndex(); ASSERT(index); - return textureD3D->getRenderTarget(*index); + return textureD3D->getRenderTarget(*index, outRT); } + else + { + gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer(); + ASSERT(renderbuffer); - gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer(); - ASSERT(renderbuffer); - - // TODO: cast to RenderbufferD3D - return renderbuffer->getStorage()->getRenderTarget(); + // TODO: cast to RenderbufferD3D + *outRT = renderbuffer->getStorage()->getRenderTarget(); + return gl::Error(GL_NO_ERROR); + } } // Note: RenderTarget serials should ideally be in the RenderTargets themselves. @@ -602,33 +606,36 @@ GLenum Framebuffer::completeness() const return GL_FRAMEBUFFER_COMPLETE; } -void Framebuffer::invalidate(const Caps &caps, GLsizei numAttachments, const GLenum *attachments) +Error Framebuffer::invalidate(const Caps &caps, GLsizei numAttachments, const GLenum *attachments) { GLuint maxDimension = caps.maxRenderbufferSize; - invalidateSub(caps, numAttachments, attachments, 0, 0, maxDimension, maxDimension); + return invalidateSub(numAttachments, attachments, 0, 0, maxDimension, maxDimension); } -void Framebuffer::invalidateSub(const Caps &caps, GLsizei numAttachments, const GLenum *attachments, - GLint x, GLint y, GLsizei width, GLsizei height) +Error Framebuffer::invalidateSub(GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { ASSERT(completeness() == GL_FRAMEBUFFER_COMPLETE); for (GLsizei attachIndex = 0; attachIndex < numAttachments; ++attachIndex) { GLenum attachmentTarget = attachments[attachIndex]; - gl::FramebufferAttachment *attachment = - (attachmentTarget == GL_DEPTH_STENCIL_ATTACHMENT) ? getDepthOrStencilbuffer() : - getAttachment(attachmentTarget); + FramebufferAttachment *attachment = (attachmentTarget == GL_DEPTH_STENCIL_ATTACHMENT) ? getDepthOrStencilbuffer() + : getAttachment(attachmentTarget); if (attachment) { - rx::RenderTarget *renderTarget = rx::GetAttachmentRenderTarget(attachment); - if (renderTarget) + rx::RenderTarget *renderTarget = NULL; + Error error = rx::GetAttachmentRenderTarget(attachment, &renderTarget); + if (error.isError()) { - renderTarget->invalidate(x, y, width, height); + return error; } + + renderTarget->invalidate(x, y, width, height); } } + + return Error(GL_NO_ERROR); } DefaultFramebuffer::DefaultFramebuffer(rx::Renderer *renderer, Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil) @@ -689,12 +696,10 @@ ColorbufferInfo Framebuffer::getColorbuffersForRender() const ASSERT(drawBufferState == GL_BACK || drawBufferState == (GL_COLOR_ATTACHMENT0_EXT + colorAttachment)); colorbuffersForRender.push_back(colorbuffer); } -#if (ANGLE_MRT_PERF_WORKAROUND == ANGLE_WORKAROUND_DISABLED) - else + else if (!mRenderer->getWorkarounds().mrtPerfWorkaround) { colorbuffersForRender.push_back(NULL); } -#endif } return colorbuffersForRender; diff --git a/src/libGLESv2/Framebuffer.h b/src/libGLESv2/Framebuffer.h index cc12d229..1f55b433 100644 --- a/src/libGLESv2/Framebuffer.h +++ b/src/libGLESv2/Framebuffer.h @@ -10,11 +10,13 @@ #ifndef LIBGLESV2_FRAMEBUFFER_H_ #define LIBGLESV2_FRAMEBUFFER_H_ -#include <vector> +#include "libGLESv2/Error.h" #include "common/angleutils.h" #include "common/RefCountObject.h" -#include "constants.h" +#include "Constants.h" + +#include <vector> namespace rx { @@ -72,9 +74,8 @@ class Framebuffer virtual GLenum completeness() const; bool hasValidDepthStencil() const; - void invalidate(const Caps &caps, GLsizei numAttachments, const GLenum *attachments); - void invalidateSub(const Caps &caps, GLsizei numAttachments, const GLenum *attachments, - GLint x, GLint y, GLsizei width, GLsizei height); + Error invalidate(const Caps &caps, GLsizei numAttachments, const GLenum *attachments); + Error invalidateSub(GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); // Use this method to retrieve the color buffer map when doing rendering. // It will apply a workaround for poor shader performance on some systems @@ -118,7 +119,7 @@ namespace rx class RenderTarget; // TODO: place this in FramebufferD3D.h -RenderTarget *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment); +gl::Error GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment, RenderTarget **outRT); unsigned int GetAttachmentSerial(gl::FramebufferAttachment *attachment); } diff --git a/src/libGLESv2/ImageIndex.cpp b/src/libGLESv2/ImageIndex.cpp index 3522b997..b45cd9c1 100644 --- a/src/libGLESv2/ImageIndex.cpp +++ b/src/libGLESv2/ImageIndex.cpp @@ -48,10 +48,101 @@ ImageIndex ImageIndex::Make3D(GLint mipIndex, GLint layerIndex) return ImageIndex(GL_TEXTURE_3D, mipIndex, layerIndex); } +ImageIndex ImageIndex::MakeInvalid() +{ + return ImageIndex(GL_NONE, -1, -1); +} + ImageIndex::ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn) : type(typeIn), mipIndex(mipIndexIn), layerIndex(layerIndexIn) {} +ImageIndexIterator ImageIndexIterator::Make2D(GLint minMip, GLint maxMip) +{ + return ImageIndexIterator(GL_TEXTURE_2D, rx::Range<GLint>(minMip, maxMip), + rx::Range<GLint>(ImageIndex::ENTIRE_LEVEL, ImageIndex::ENTIRE_LEVEL), NULL); +} + +ImageIndexIterator ImageIndexIterator::MakeCube(GLint minMip, GLint maxMip) +{ + return ImageIndexIterator(GL_TEXTURE_CUBE_MAP, rx::Range<GLint>(minMip, maxMip), rx::Range<GLint>(0, 6), NULL); +} + +ImageIndexIterator ImageIndexIterator::Make3D(GLint minMip, GLint maxMip, + GLint minLayer, GLint maxLayer) +{ + return ImageIndexIterator(GL_TEXTURE_3D, rx::Range<GLint>(minMip, maxMip), rx::Range<GLint>(minLayer, maxLayer), NULL); +} + +ImageIndexIterator ImageIndexIterator::Make2DArray(GLint minMip, GLint maxMip, + const GLsizei *layerCounts) +{ + return ImageIndexIterator(GL_TEXTURE_2D_ARRAY, rx::Range<GLint>(minMip, maxMip), + rx::Range<GLint>(0, IMPLEMENTATION_MAX_2D_ARRAY_TEXTURE_LAYERS), layerCounts); +} + +ImageIndexIterator::ImageIndexIterator(GLenum type, const rx::Range<GLint> &mipRange, + const rx::Range<GLint> &layerRange, const GLsizei *layerCounts) + : mType(type), + mMipRange(mipRange), + mLayerRange(layerRange), + mLayerCounts(layerCounts), + mCurrentMip(mipRange.start), + mCurrentLayer(layerRange.start) +{} + +GLint ImageIndexIterator::maxLayer() const +{ + return (mLayerCounts ? static_cast<GLint>(mLayerCounts[mCurrentMip]) : mLayerRange.end); +} + +ImageIndex ImageIndexIterator::next() +{ + ASSERT(hasNext()); + + ImageIndex value = current(); + + // Iterate layers in the inner loop for now. We can add switchable + // layer or mip iteration if we need it. + + if (mCurrentLayer != ImageIndex::ENTIRE_LEVEL) + { + if (mCurrentLayer < maxLayer()-1) + { + mCurrentLayer++; + } + else if (mCurrentMip < mMipRange.end-1) + { + mCurrentMip++; + mCurrentLayer = mLayerRange.start; + } + } + else if (mCurrentMip < mMipRange.end-1) + { + mCurrentMip++; + mCurrentLayer = mLayerRange.start; + } + + return value; +} + +ImageIndex ImageIndexIterator::current() const +{ + ImageIndex value(mType, mCurrentMip, mCurrentLayer); + + if (mType == GL_TEXTURE_CUBE_MAP) + { + value.type = TextureCubeMap::layerIndexToTarget(mCurrentLayer); + } + + return value; +} + +bool ImageIndexIterator::hasNext() const +{ + return (mCurrentMip < mMipRange.end || mCurrentLayer < maxLayer()); +} + } diff --git a/src/libGLESv2/ImageIndex.h b/src/libGLESv2/ImageIndex.h index 9f2df880..8bb14fd5 100644 --- a/src/libGLESv2/ImageIndex.h +++ b/src/libGLESv2/ImageIndex.h @@ -10,6 +10,7 @@ #define LIBGLESV2_IMAGE_INDEX_H_ #include "angle_gl.h" +#include "common/mathutil.h" namespace gl { @@ -20,6 +21,7 @@ struct ImageIndex GLint mipIndex; GLint layerIndex; + ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn); ImageIndex(const ImageIndex &other); ImageIndex &operator=(const ImageIndex &other); @@ -29,11 +31,36 @@ struct ImageIndex static ImageIndex MakeCube(GLenum target, GLint mipIndex); static ImageIndex Make2DArray(GLint mipIndex, GLint layerIndex); static ImageIndex Make3D(GLint mipIndex, GLint layerIndex = ENTIRE_LEVEL); + static ImageIndex MakeInvalid(); static const GLint ENTIRE_LEVEL = static_cast<GLint>(-1); +}; + +class ImageIndexIterator +{ + public: + static ImageIndexIterator Make2D(GLint minMip, GLint maxMip); + static ImageIndexIterator MakeCube(GLint minMip, GLint maxMip); + static ImageIndexIterator Make3D(GLint minMip, GLint maxMip, GLint minLayer, GLint maxLayer); + static ImageIndexIterator Make2DArray(GLint minMip, GLint maxMip, const GLsizei *layerCounts); + + ImageIndex next(); + ImageIndex current() const; + bool hasNext() const; private: - ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn); + + ImageIndexIterator(GLenum type, const rx::Range<GLint> &mipRange, + const rx::Range<GLint> &layerRange, const GLsizei *layerCounts); + + GLint maxLayer() const; + + GLenum mType; + rx::Range<GLint> mMipRange; + rx::Range<GLint> mLayerRange; + const GLsizei *mLayerCounts; + GLint mCurrentMip; + GLint mCurrentLayer; }; } diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp index 9bfda09a..990bcec3 100644 --- a/src/libGLESv2/Program.cpp +++ b/src/libGLESv2/Program.cpp @@ -244,7 +244,7 @@ void Program::bindAttributeLocation(GLuint index, const char *name) // Links the HLSL code of the vertex and pixel shader by matching up their varyings, // compiling them into binaries, determining the attribute mappings, and collecting // a list of uniforms -bool Program::link(const Caps &caps) +Error Program::link(const Caps &caps) { unlink(false); @@ -252,10 +252,15 @@ bool Program::link(const Caps &caps) resetUniformBlockBindings(); mProgramBinary.set(new ProgramBinary(mRenderer->createProgram())); - mLinked = mProgramBinary->link(mInfoLog, mAttributeBindings, mFragmentShader, mVertexShader, - mTransformFeedbackVaryings, mTransformFeedbackBufferMode, caps); + LinkResult result = mProgramBinary->link(mInfoLog, mAttributeBindings, mFragmentShader, mVertexShader, + mTransformFeedbackVaryings, mTransformFeedbackBufferMode, caps); + if (result.error.isError()) + { + return result.error; + } - return mLinked; + mLinked = result.linkSuccess; + return gl::Error(GL_NO_ERROR); } int AttributeBindings::getAttributeBinding(const std::string &name) const @@ -303,21 +308,22 @@ ProgramBinary* Program::getProgramBinary() const return mProgramBinary.get(); } -bool Program::setProgramBinary(GLenum binaryFormat, const void *binary, GLsizei length) +Error Program::setProgramBinary(GLenum binaryFormat, const void *binary, GLsizei length) { unlink(false); mInfoLog.reset(); mProgramBinary.set(new ProgramBinary(mRenderer->createProgram())); - mLinked = mProgramBinary->load(mInfoLog, binaryFormat, binary, length); - - if (!mLinked) + LinkResult result = mProgramBinary->load(mInfoLog, binaryFormat, binary, length); + if (result.error.isError()) { mProgramBinary.set(NULL); + return result.error; } - return mLinked; + mLinked = result.linkSuccess; + return Error(GL_NO_ERROR); } void Program::release() diff --git a/src/libGLESv2/Program.h b/src/libGLESv2/Program.h index 6528dd11..9b437d3c 100644 --- a/src/libGLESv2/Program.h +++ b/src/libGLESv2/Program.h @@ -77,9 +77,9 @@ class Program void bindAttributeLocation(GLuint index, const char *name); - bool link(const Caps &caps); + Error link(const Caps &caps); bool isLinked(); - bool setProgramBinary(GLenum binaryFormat, const void *binary, GLsizei length); + Error setProgramBinary(GLenum binaryFormat, const void *binary, GLsizei length); ProgramBinary *getProgramBinary() const; int getInfoLogLength() const; diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp index 405a73cc..1a816205 100644 --- a/src/libGLESv2/ProgramBinary.cpp +++ b/src/libGLESv2/ProgramBinary.cpp @@ -23,10 +23,7 @@ #include "libGLESv2/Shader.h" #include "libGLESv2/Program.h" #include "libGLESv2/renderer/ProgramImpl.h" -#include "libGLESv2/renderer/Renderer.h" -#include "libGLESv2/renderer/d3d/DynamicHLSL.h" #include "libGLESv2/renderer/d3d/ShaderD3D.h" -#include "libGLESv2/renderer/d3d/VertexDataManager.h" #include "libGLESv2/Context.h" #include "libGLESv2/Buffer.h" #include "common/blocklayout.h" @@ -83,42 +80,6 @@ unsigned int ParseAndStripArrayIndex(std::string* name) return subscript; } -void GetDefaultInputLayoutFromShader(const std::vector<sh::Attribute> &shaderAttributes, VertexFormat inputLayout[MAX_VERTEX_ATTRIBS]) -{ - size_t layoutIndex = 0; - for (size_t attributeIndex = 0; attributeIndex < shaderAttributes.size(); attributeIndex++) - { - ASSERT(layoutIndex < MAX_VERTEX_ATTRIBS); - - const sh::Attribute &shaderAttr = shaderAttributes[attributeIndex]; - - if (shaderAttr.type != GL_NONE) - { - GLenum transposedType = TransposeMatrixType(shaderAttr.type); - - for (size_t rowIndex = 0; static_cast<int>(rowIndex) < VariableRowCount(transposedType); rowIndex++, layoutIndex++) - { - VertexFormat *defaultFormat = &inputLayout[layoutIndex]; - - defaultFormat->mType = VariableComponentType(transposedType); - defaultFormat->mNormalized = false; - defaultFormat->mPureInteger = (defaultFormat->mType != GL_FLOAT); // note: inputs can not be bool - defaultFormat->mComponents = VariableColumnCount(transposedType); - } - } - } -} - -std::vector<GLenum> GetDefaultOutputLayoutFromShader(const std::vector<rx::PixelShaderOutputVariable> &shaderOutputVars) -{ - std::vector<GLenum> defaultPixelOutput(1); - - ASSERT(!shaderOutputVars.empty()); - defaultPixelOutput[0] = GL_COLOR_ATTACHMENT0 + shaderOutputVars[0].outputIndex; - - return defaultPixelOutput; -} - bool IsRowMajorLayout(const sh::InterfaceBlockField &var) { return var.isRowMajorLayout; @@ -136,47 +97,6 @@ VariableLocation::VariableLocation(const std::string &name, unsigned int element { } -ProgramBinary::VertexExecutable::VertexExecutable(const VertexFormat inputLayout[], - const GLenum signature[], - rx::ShaderExecutable *shaderExecutable) - : mShaderExecutable(shaderExecutable) -{ - for (size_t attributeIndex = 0; attributeIndex < gl::MAX_VERTEX_ATTRIBS; attributeIndex++) - { - mInputs[attributeIndex] = inputLayout[attributeIndex]; - mSignature[attributeIndex] = signature[attributeIndex]; - } -} - -ProgramBinary::VertexExecutable::~VertexExecutable() -{ - SafeDelete(mShaderExecutable); -} - -bool ProgramBinary::VertexExecutable::matchesSignature(const GLenum signature[]) const -{ - for (size_t attributeIndex = 0; attributeIndex < MAX_VERTEX_ATTRIBS; attributeIndex++) - { - if (mSignature[attributeIndex] != signature[attributeIndex]) - { - return false; - } - } - - return true; -} - -ProgramBinary::PixelExecutable::PixelExecutable(const std::vector<GLenum> &outputSignature, rx::ShaderExecutable *shaderExecutable) - : mOutputSignature(outputSignature), - mShaderExecutable(shaderExecutable) -{ -} - -ProgramBinary::PixelExecutable::~PixelExecutable() -{ - SafeDelete(mShaderExecutable); -} - LinkedVarying::LinkedVarying() { } @@ -187,16 +107,19 @@ LinkedVarying::LinkedVarying(const std::string &name, GLenum type, GLsizei size, { } +LinkResult::LinkResult(bool linkSuccess, const Error &error) + : linkSuccess(linkSuccess), + error(error) +{ +} + unsigned int ProgramBinary::mCurrentSerial = 1; ProgramBinary::ProgramBinary(rx::ProgramImpl *impl) : RefCountObject(0), mProgram(impl), - mGeometryExecutable(NULL), mUsedVertexSamplerRange(0), mUsedPixelSamplerRange(0), - mUsesPointSize(false), - mShaderVersion(100), mDirtySamplerMapping(true), mValidated(false), mSerial(issueSerial()) @@ -220,103 +143,11 @@ unsigned int ProgramBinary::getSerial() const return mSerial; } -int ProgramBinary::getShaderVersion() const -{ - return mShaderVersion; -} - unsigned int ProgramBinary::issueSerial() { return mCurrentSerial++; } -rx::ShaderExecutable *ProgramBinary::getPixelExecutableForFramebuffer(const Framebuffer *fbo) -{ - std::vector<GLenum> outputs; - - const gl::ColorbufferInfo &colorbuffers = fbo->getColorbuffersForRender(); - - for (size_t colorAttachment = 0; colorAttachment < colorbuffers.size(); ++colorAttachment) - { - const gl::FramebufferAttachment *colorbuffer = colorbuffers[colorAttachment]; - - if (colorbuffer) - { - outputs.push_back(colorbuffer->getBinding() == GL_BACK ? GL_COLOR_ATTACHMENT0 : colorbuffer->getBinding()); - } - else - { - outputs.push_back(GL_NONE); - } - } - - return getPixelExecutableForOutputLayout(outputs); -} - -rx::ShaderExecutable *ProgramBinary::getPixelExecutableForOutputLayout(const std::vector<GLenum> &outputSignature) -{ - for (size_t executableIndex = 0; executableIndex < mPixelExecutables.size(); executableIndex++) - { - if (mPixelExecutables[executableIndex]->matchesSignature(outputSignature)) - { - return mPixelExecutables[executableIndex]->shaderExecutable(); - } - } - - InfoLog tempInfoLog; - rx::ShaderExecutable *pixelExecutable = mProgram->getPixelExecutableForOutputLayout(tempInfoLog, outputSignature, - mTransformFeedbackLinkedVaryings, (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS)); - - if (!pixelExecutable) - { - std::vector<char> tempCharBuffer(tempInfoLog.getLength() + 3); - tempInfoLog.getLog(tempInfoLog.getLength(), NULL, &tempCharBuffer[0]); - ERR("Error compiling dynamic pixel executable:\n%s\n", &tempCharBuffer[0]); - } - else - { - mPixelExecutables.push_back(new PixelExecutable(outputSignature, pixelExecutable)); - } - - return pixelExecutable; -} - -rx::ShaderExecutable *ProgramBinary::getVertexExecutableForInputLayout(const VertexFormat inputLayout[MAX_VERTEX_ATTRIBS]) -{ - GLenum signature[MAX_VERTEX_ATTRIBS]; - mProgram->getDynamicHLSL()->getInputLayoutSignature(inputLayout, signature); - - for (size_t executableIndex = 0; executableIndex < mVertexExecutables.size(); executableIndex++) - { - if (mVertexExecutables[executableIndex]->matchesSignature(signature)) - { - return mVertexExecutables[executableIndex]->shaderExecutable(); - } - } - - InfoLog tempInfoLog; - rx::ShaderExecutable *vertexExecutable = mProgram->getVertexExecutableForInputLayout(tempInfoLog, inputLayout, mShaderAttributes, - mTransformFeedbackLinkedVaryings, (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS)); - - if (!vertexExecutable) - { - std::vector<char> tempCharBuffer(tempInfoLog.getLength()+3); - tempInfoLog.getLog(tempInfoLog.getLength(), NULL, &tempCharBuffer[0]); - ERR("Error compiling dynamic vertex executable:\n%s\n", &tempCharBuffer[0]); - } - else - { - mVertexExecutables.push_back(new VertexExecutable(inputLayout, signature, vertexExecutable)); - } - - return vertexExecutable; -} - -rx::ShaderExecutable *ProgramBinary::getGeometryExecutable() const -{ - return mGeometryExecutable; -} - GLuint ProgramBinary::getAttributeLocation(const char *name) { if (name) @@ -357,17 +188,7 @@ GLint ProgramBinary::getUsedSamplerRange(SamplerType type) bool ProgramBinary::usesPointSize() const { - return mUsesPointSize; -} - -bool ProgramBinary::usesPointSpriteEmulation() const -{ - return mUsesPointSize && mProgram->getRenderer()->getMajorShaderModel() >= 4; -} - -bool ProgramBinary::usesGeometryShader() const -{ - return usesPointSpriteEmulation(); + return mProgram->usesPointSize(); } GLint ProgramBinary::getSamplerMapping(SamplerType type, unsigned int samplerIndex, const Caps &caps) @@ -517,17 +338,17 @@ GLint ProgramBinary::getFragDataLocation(const char *name) const size_t ProgramBinary::getTransformFeedbackVaryingCount() const { - return mTransformFeedbackLinkedVaryings.size(); + return mProgram->getTransformFeedbackLinkedVaryings().size(); } const LinkedVarying &ProgramBinary::getTransformFeedbackVarying(size_t idx) const { - return mTransformFeedbackLinkedVaryings[idx]; + return mProgram->getTransformFeedbackLinkedVaryings()[idx]; } GLenum ProgramBinary::getTransformFeedbackBufferMode() const { - return mTransformFeedbackBufferMode; + return mProgram->getTransformFeedbackBufferMode(); } template <typename T> @@ -970,65 +791,28 @@ void ProgramBinary::updateSamplerMapping() } // Applies all the uniforms set for this program object to the renderer -void ProgramBinary::applyUniforms() +Error ProgramBinary::applyUniforms() { updateSamplerMapping(); - mProgram->getRenderer()->applyUniforms(*this); + Error error = mProgram->applyUniforms(mUniforms); + if (error.isError()) + { + return error; + } for (size_t uniformIndex = 0; uniformIndex < mUniforms.size(); uniformIndex++) { mUniforms[uniformIndex]->dirty = false; } + + return gl::Error(GL_NO_ERROR); } -bool ProgramBinary::applyUniformBuffers(const std::vector<gl::Buffer*> boundBuffers, const Caps &caps) +Error ProgramBinary::applyUniformBuffers(const std::vector<gl::Buffer*> boundBuffers, const Caps &caps) { - const gl::Buffer *vertexUniformBuffers[gl::IMPLEMENTATION_MAX_VERTEX_SHADER_UNIFORM_BUFFERS] = {NULL}; - const gl::Buffer *fragmentUniformBuffers[gl::IMPLEMENTATION_MAX_FRAGMENT_SHADER_UNIFORM_BUFFERS] = {NULL}; - - const unsigned int reservedBuffersInVS = mProgram->getRenderer()->getReservedVertexUniformBuffers(); - const unsigned int reservedBuffersInFS = mProgram->getRenderer()->getReservedFragmentUniformBuffers(); - ASSERT(boundBuffers.size() == mUniformBlocks.size()); - - for (unsigned int uniformBlockIndex = 0; uniformBlockIndex < mUniformBlocks.size(); uniformBlockIndex++) - { - UniformBlock *uniformBlock = getUniformBlockByIndex(uniformBlockIndex); - gl::Buffer *uniformBuffer = boundBuffers[uniformBlockIndex]; - - ASSERT(uniformBlock && uniformBuffer); - - if (uniformBuffer->getSize() < uniformBlock->dataSize) - { - // undefined behaviour - return false; - } - - // Unnecessary to apply an unreferenced standard or shared UBO - if (!uniformBlock->isReferencedByVertexShader() && !uniformBlock->isReferencedByFragmentShader()) - { - continue; - } - - if (uniformBlock->isReferencedByVertexShader()) - { - unsigned int registerIndex = uniformBlock->vsRegisterIndex - reservedBuffersInVS; - ASSERT(vertexUniformBuffers[registerIndex] == NULL); - ASSERT(registerIndex < caps.maxVertexUniformBlocks); - vertexUniformBuffers[registerIndex] = uniformBuffer; - } - - if (uniformBlock->isReferencedByFragmentShader()) - { - unsigned int registerIndex = uniformBlock->psRegisterIndex - reservedBuffersInFS; - ASSERT(fragmentUniformBuffers[registerIndex] == NULL); - ASSERT(registerIndex < caps.maxFragmentUniformBlocks); - fragmentUniformBuffers[registerIndex] = uniformBuffer; - } - } - - return mProgram->getRenderer()->setUniformBuffers(vertexUniformBuffers, fragmentUniformBuffers); + return mProgram->applyUniformBuffers(mUniformBlocks, boundBuffers, caps); } bool ProgramBinary::linkVaryings(InfoLog &infoLog, Shader *fragmentShader, Shader *vertexShader) @@ -1076,10 +860,10 @@ bool ProgramBinary::linkVaryings(InfoLog &infoLog, Shader *fragmentShader, Shade return true; } -bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *binary, GLsizei length) +LinkResult ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *binary, GLsizei length) { #ifdef ANGLE_DISABLE_PROGRAM_BINARY_LOAD - return false; + return LinkResult(false, Error(GL_NO_ERROR)); #else ASSERT(binaryFormat == mProgram->getBinaryFormat()); @@ -1091,7 +875,7 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina if (format != mProgram->getBinaryFormat()) { infoLog.append("Invalid program binary format."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } int majorVersion = stream.readInt<int>(); @@ -1099,7 +883,7 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina if (majorVersion != ANGLE_MAJOR_VERSION || minorVersion != ANGLE_MINOR_VERSION) { infoLog.append("Invalid program binary version."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } unsigned char commitString[ANGLE_COMMIT_HASH_SIZE]; @@ -1107,22 +891,22 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina if (memcmp(commitString, ANGLE_COMMIT_HASH, sizeof(unsigned char) * ANGLE_COMMIT_HASH_SIZE) != 0) { infoLog.append("Invalid program binary version."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } int compileFlags = stream.readInt<int>(); if (compileFlags != ANGLE_COMPILE_OPTIMIZATION_LEVEL) { infoLog.append("Mismatched compilation flags."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } for (int i = 0; i < MAX_VERTEX_ATTRIBS; ++i) { stream.readInt(&mLinkedAttribute[i].type); stream.readString(&mLinkedAttribute[i].name); - stream.readInt(&mShaderAttributes[i].type); - stream.readString(&mShaderAttributes[i].name); + stream.readInt(&mProgram->getShaderAttributes()[i].type); + stream.readString(&mProgram->getShaderAttributes()[i].name); stream.readInt(&mSemanticIndex[i]); } @@ -1149,14 +933,12 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina stream.readInt(&mUsedVertexSamplerRange); stream.readInt(&mUsedPixelSamplerRange); - stream.readBool(&mUsesPointSize); - stream.readInt(&mShaderVersion); const unsigned int uniformCount = stream.readInt<unsigned int>(); if (stream.error()) { infoLog.append("Invalid program binary."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } mUniforms.resize(uniformCount); @@ -1189,7 +971,7 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina if (stream.error()) { infoLog.append("Invalid program binary."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } mUniformBlocks.resize(uniformBlockCount); @@ -1218,7 +1000,7 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina if (stream.error()) { infoLog.append("Invalid program binary."); - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } mUniformIndex.resize(uniformIndexCount); @@ -1229,128 +1011,19 @@ bool ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *bina stream.readInt(&mUniformIndex[uniformIndexIndex].index); } - stream.readInt(&mTransformFeedbackBufferMode); - const unsigned int transformFeedbackVaryingCount = stream.readInt<unsigned int>(); - mTransformFeedbackLinkedVaryings.resize(transformFeedbackVaryingCount); - for (unsigned int varyingIndex = 0; varyingIndex < transformFeedbackVaryingCount; varyingIndex++) - { - LinkedVarying &varying = mTransformFeedbackLinkedVaryings[varyingIndex]; - - stream.readString(&varying.name); - stream.readInt(&varying.type); - stream.readInt(&varying.size); - stream.readString(&varying.semanticName); - stream.readInt(&varying.semanticIndex); - stream.readInt(&varying.semanticIndexCount); - } - - const unsigned int vertexShaderCount = stream.readInt<unsigned int>(); - for (unsigned int vertexShaderIndex = 0; vertexShaderIndex < vertexShaderCount; vertexShaderIndex++) + LinkResult result = mProgram->load(infoLog, &stream); + if (result.error.isError() || !result.linkSuccess) { - VertexFormat inputLayout[MAX_VERTEX_ATTRIBS]; - - for (size_t inputIndex = 0; inputIndex < MAX_VERTEX_ATTRIBS; inputIndex++) - { - VertexFormat *vertexInput = &inputLayout[inputIndex]; - stream.readInt(&vertexInput->mType); - stream.readInt(&vertexInput->mNormalized); - stream.readInt(&vertexInput->mComponents); - stream.readBool(&vertexInput->mPureInteger); - } - - unsigned int vertexShaderSize = stream.readInt<unsigned int>(); - const unsigned char *vertexShaderFunction = reinterpret_cast<const unsigned char*>(binary) + stream.offset(); - rx::ShaderExecutable *shaderExecutable = mProgram->getRenderer()->loadExecutable(reinterpret_cast<const DWORD*>(vertexShaderFunction), - vertexShaderSize, rx::SHADER_VERTEX, - mTransformFeedbackLinkedVaryings, - (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS)); - if (!shaderExecutable) - { - infoLog.append("Could not create vertex shader."); - return false; - } - - // generated converted input layout - GLenum signature[MAX_VERTEX_ATTRIBS]; - mProgram->getDynamicHLSL()->getInputLayoutSignature(inputLayout, signature); - - // add new binary - mVertexExecutables.push_back(new VertexExecutable(inputLayout, signature, shaderExecutable)); - - stream.skip(vertexShaderSize); - } - - const size_t pixelShaderCount = stream.readInt<unsigned int>(); - for (size_t pixelShaderIndex = 0; pixelShaderIndex < pixelShaderCount; pixelShaderIndex++) - { - const size_t outputCount = stream.readInt<unsigned int>(); - std::vector<GLenum> outputs(outputCount); - for (size_t outputIndex = 0; outputIndex < outputCount; outputIndex++) - { - stream.readInt(&outputs[outputIndex]); - } - - const size_t pixelShaderSize = stream.readInt<unsigned int>(); - const unsigned char *pixelShaderFunction = reinterpret_cast<const unsigned char*>(binary) + stream.offset(); - rx::Renderer *renderer = mProgram->getRenderer(); - rx::ShaderExecutable *shaderExecutable = renderer->loadExecutable(pixelShaderFunction, pixelShaderSize, - rx::SHADER_PIXEL, mTransformFeedbackLinkedVaryings, - (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS)); - - if (!shaderExecutable) - { - infoLog.append("Could not create pixel shader."); - return false; - } - - // add new binary - mPixelExecutables.push_back(new PixelExecutable(outputs, shaderExecutable)); - - stream.skip(pixelShaderSize); - } - - unsigned int geometryShaderSize = stream.readInt<unsigned int>(); - - if (geometryShaderSize > 0) - { - const char *geometryShaderFunction = (const char*) binary + stream.offset(); - rx::Renderer *renderer = mProgram->getRenderer(); - mGeometryExecutable = renderer->loadExecutable(reinterpret_cast<const DWORD*>(geometryShaderFunction), - geometryShaderSize, rx::SHADER_GEOMETRY, mTransformFeedbackLinkedVaryings, - (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS)); - - if (!mGeometryExecutable) - { - infoLog.append("Could not create geometry shader."); - return false; - } - stream.skip(geometryShaderSize); - } - - if (!mProgram->load(infoLog, &stream)) - { - return false; - } - - const char *ptr = (const char*) binary + stream.offset(); - - const GUID *binaryIdentifier = (const GUID *) ptr; - ptr += sizeof(GUID); - - GUID identifier = mProgram->getRenderer()->getAdapterIdentifier(); - if (memcmp(&identifier, binaryIdentifier, sizeof(GUID)) != 0) - { - infoLog.append("Invalid program binary."); - return false; + return result; } mProgram->initializeUniformStorage(mUniforms); - return true; + return LinkResult(true, Error(GL_NO_ERROR)); #endif // #ifdef ANGLE_DISABLE_PROGRAM_BINARY_LOAD } -bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length) +Error ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length) { if (binaryFormat) { @@ -1369,8 +1042,8 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL { stream.writeInt(mLinkedAttribute[i].type); stream.writeString(mLinkedAttribute[i].name); - stream.writeInt(mShaderAttributes[i].type); - stream.writeString(mShaderAttributes[i].name); + stream.writeInt(mProgram->getShaderAttributes()[i].type); + stream.writeString(mProgram->getShaderAttributes()[i].name); stream.writeInt(mSemanticIndex[i]); } @@ -1392,8 +1065,6 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL stream.writeInt(mUsedVertexSamplerRange); stream.writeInt(mUsedPixelSamplerRange); - stream.writeInt(mUsesPointSize); - stream.writeInt(mShaderVersion); stream.writeInt(mUniforms.size()); for (size_t uniformIndex = 0; uniformIndex < mUniforms.size(); ++uniformIndex) @@ -1444,93 +1115,22 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL stream.writeInt(mUniformIndex[i].index); } - stream.writeInt(mTransformFeedbackBufferMode); - stream.writeInt(mTransformFeedbackLinkedVaryings.size()); - for (size_t i = 0; i < mTransformFeedbackLinkedVaryings.size(); i++) - { - const LinkedVarying &varying = mTransformFeedbackLinkedVaryings[i]; - - stream.writeString(varying.name); - stream.writeInt(varying.type); - stream.writeInt(varying.size); - stream.writeString(varying.semanticName); - stream.writeInt(varying.semanticIndex); - stream.writeInt(varying.semanticIndexCount); - } - - stream.writeInt(mVertexExecutables.size()); - for (size_t vertexExecutableIndex = 0; vertexExecutableIndex < mVertexExecutables.size(); vertexExecutableIndex++) - { - VertexExecutable *vertexExecutable = mVertexExecutables[vertexExecutableIndex]; - - for (size_t inputIndex = 0; inputIndex < gl::MAX_VERTEX_ATTRIBS; inputIndex++) - { - const VertexFormat &vertexInput = vertexExecutable->inputs()[inputIndex]; - stream.writeInt(vertexInput.mType); - stream.writeInt(vertexInput.mNormalized); - stream.writeInt(vertexInput.mComponents); - stream.writeInt(vertexInput.mPureInteger); - } - - size_t vertexShaderSize = vertexExecutable->shaderExecutable()->getLength(); - stream.writeInt(vertexShaderSize); - - const uint8_t *vertexBlob = vertexExecutable->shaderExecutable()->getFunction(); - stream.writeBytes(vertexBlob, vertexShaderSize); - } - - stream.writeInt(mPixelExecutables.size()); - for (size_t pixelExecutableIndex = 0; pixelExecutableIndex < mPixelExecutables.size(); pixelExecutableIndex++) - { - PixelExecutable *pixelExecutable = mPixelExecutables[pixelExecutableIndex]; - - const std::vector<GLenum> outputs = pixelExecutable->outputSignature(); - stream.writeInt(outputs.size()); - for (size_t outputIndex = 0; outputIndex < outputs.size(); outputIndex++) - { - stream.writeInt(outputs[outputIndex]); - } - - size_t pixelShaderSize = pixelExecutable->shaderExecutable()->getLength(); - stream.writeInt(pixelShaderSize); - - const uint8_t *pixelBlob = pixelExecutable->shaderExecutable()->getFunction(); - stream.writeBytes(pixelBlob, pixelShaderSize); - } - - size_t geometryShaderSize = (mGeometryExecutable != NULL) ? mGeometryExecutable->getLength() : 0; - stream.writeInt(geometryShaderSize); - - if (mGeometryExecutable != NULL && geometryShaderSize > 0) - { - const uint8_t *geometryBlob = mGeometryExecutable->getFunction(); - stream.writeBytes(geometryBlob, geometryShaderSize); - } - - if (!mProgram->save(&stream)) - { - if (length) - { - *length = 0; - } - - return false; - } - - GUID identifier = mProgram->getRenderer()->getAdapterIdentifier(); + mProgram->save(&stream); GLsizei streamLength = stream.length(); const void *streamData = stream.data(); - GLsizei totalLength = streamLength + sizeof(GUID); - if (totalLength > bufSize) + if (streamLength > bufSize) { if (length) { *length = 0; } - return false; + // TODO: This should be moved to the validation layer but computing the size of the binary before saving + // it causes the save to happen twice. It may be possible to write the binary to a separate buffer, validate + // sizes and then copy it. + return Error(GL_INVALID_OPERATION); } if (binary) @@ -1540,45 +1140,41 @@ bool ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GL memcpy(ptr, streamData, streamLength); ptr += streamLength; - memcpy(ptr, &identifier, sizeof(GUID)); - ptr += sizeof(GUID); - - ASSERT(ptr - totalLength == binary); + ASSERT(ptr - streamLength == binary); } if (length) { - *length = totalLength; + *length = streamLength; } - return true; + return Error(GL_NO_ERROR); } GLint ProgramBinary::getLength() { GLint length; - if (save(NULL, NULL, INT_MAX, &length)) - { - return length; - } - else + Error error = save(NULL, NULL, INT_MAX, &length); + if (error.isError()) { return 0; } + + return length; } -bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBindings, Shader *fragmentShader, Shader *vertexShader, - const std::vector<std::string>& transformFeedbackVaryings, GLenum transformFeedbackBufferMode, const Caps &caps) +LinkResult ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBindings, Shader *fragmentShader, Shader *vertexShader, + const std::vector<std::string>& transformFeedbackVaryings, GLenum transformFeedbackBufferMode, const Caps &caps) { if (!fragmentShader || !fragmentShader->isCompiled()) { - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } ASSERT(fragmentShader->getType() == GL_FRAGMENT_SHADER); if (!vertexShader || !vertexShader->isCompiled()) { - return false; + return LinkResult(false, Error(GL_NO_ERROR)); } ASSERT(vertexShader->getType() == GL_VERTEX_SHADER); @@ -1587,32 +1183,26 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin mSamplersPS.resize(caps.maxTextureImageUnits); mSamplersVS.resize(caps.maxVertexTextureImageUnits); - mTransformFeedbackBufferMode = transformFeedbackBufferMode; - rx::ShaderD3D *vertexShaderD3D = rx::ShaderD3D::makeShaderD3D(vertexShader->getImplementation()); rx::ShaderD3D *fragmentShaderD3D = rx::ShaderD3D::makeShaderD3D(fragmentShader->getImplementation()); - mShaderVersion = vertexShaderD3D->getShaderVersion(); - int registers; std::vector<LinkedVarying> linkedVaryings; - if (!mProgram->link(infoLog, fragmentShader, vertexShader, transformFeedbackVaryings, ®isters, &linkedVaryings, &mOutputVariables)) + LinkResult result = mProgram->link(infoLog, fragmentShader, vertexShader, transformFeedbackVaryings, transformFeedbackBufferMode, + ®isters, &linkedVaryings, &mOutputVariables, caps); + if (result.error.isError() || !result.linkSuccess) { - return false; + return result; } - mUsesPointSize = vertexShaderD3D->usesPointSize(); - - bool success = true; - if (!linkAttributes(infoLog, attributeBindings, vertexShader)) { - success = false; + return LinkResult(false, Error(GL_NO_ERROR)); } if (!linkUniforms(infoLog, *vertexShader, *fragmentShader, caps)) { - success = false; + return LinkResult(false, Error(GL_NO_ERROR)); } // special case for gl_DepthRange, the only built-in uniform (also a struct) @@ -1627,42 +1217,26 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin if (!linkUniformBlocks(infoLog, *vertexShader, *fragmentShader, caps)) { - success = false; + return LinkResult(false, Error(GL_NO_ERROR)); } if (!gatherTransformFeedbackLinkedVaryings(infoLog, linkedVaryings, transformFeedbackVaryings, - transformFeedbackBufferMode, &mTransformFeedbackLinkedVaryings, caps)) + transformFeedbackBufferMode, &mProgram->getTransformFeedbackLinkedVaryings(), caps)) { - success = false; + return LinkResult(false, Error(GL_NO_ERROR)); } - if (success) + // TODO: The concept of "executables" is D3D only, and as such this belongs in ProgramD3D. It must be called, + // however, last in this function, so it can't simply be moved to ProgramD3D::link without further shuffling. + result = mProgram->compileProgramExecutables(infoLog, fragmentShader, vertexShader, registers); + if (result.error.isError() || !result.linkSuccess) { - VertexFormat defaultInputLayout[MAX_VERTEX_ATTRIBS]; - GetDefaultInputLayoutFromShader(vertexShader->getActiveAttributes(), defaultInputLayout); - rx::ShaderExecutable *defaultVertexExecutable = getVertexExecutableForInputLayout(defaultInputLayout); - - std::vector<GLenum> defaultPixelOutput = GetDefaultOutputLayoutFromShader(mProgram->getPixelShaderKey()); - rx::ShaderExecutable *defaultPixelExecutable = getPixelExecutableForOutputLayout(defaultPixelOutput); - - if (usesGeometryShader()) - { - std::string geometryHLSL = mProgram->getDynamicHLSL()->generateGeometryShaderHLSL(registers, fragmentShaderD3D, vertexShaderD3D); - mGeometryExecutable = mProgram->getRenderer()->compileToExecutable(infoLog, geometryHLSL.c_str(), - rx::SHADER_GEOMETRY, mTransformFeedbackLinkedVaryings, - (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), - rx::ANGLE_D3D_WORKAROUND_NONE); - } - - if (!defaultVertexExecutable || !defaultPixelExecutable || (usesGeometryShader() && !mGeometryExecutable)) - { - infoLog.append("Failed to create D3D shaders."); - success = false; - reset(); - } + infoLog.append("Failed to create D3D shaders."); + reset(); + return result; } - return success; + return LinkResult(true, Error(GL_NO_ERROR)); } // Determines the mapping between GL attributes and Direct3D 9 vertex stream usage indices @@ -1682,7 +1256,7 @@ bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &at const int location = attribute.location == -1 ? attributeBindings.getAttributeBinding(attribute.name) : attribute.location; - mShaderAttributes[attributeIndex] = attribute; + mProgram->getShaderAttributes()[attributeIndex] = attribute; if (location != -1) // Set by glBindAttribLocation or by location layout qualifier { @@ -1702,7 +1276,7 @@ bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &at // In GLSL 3.00, attribute aliasing produces a link error // In GLSL 1.00, attribute aliasing is allowed - if (mShaderVersion >= 300) + if (mProgram->getShaderVersion() >= 300) { if (!linkedAttribute.name.empty()) { @@ -2001,7 +1575,7 @@ bool ProgramBinary::indexSamplerUniform(const LinkedUniform &uniform, InfoLog &i return false; } - unsigned int maxVertexVectors = mProgram->getRenderer()->getReservedVertexUniformVectors() + caps.maxVertexUniformVectors; + unsigned int maxVertexVectors = mProgram->getReservedUniformVectors(GL_VERTEX_SHADER) + caps.maxVertexUniformVectors; if (uniform.vsRegisterIndex + uniform.registerCount > maxVertexVectors) { infoLog.append("Vertex shader active uniforms exceed GL_MAX_VERTEX_UNIFORM_VECTORS (%u)", @@ -2020,7 +1594,7 @@ bool ProgramBinary::indexSamplerUniform(const LinkedUniform &uniform, InfoLog &i return false; } - unsigned int maxFragmentVectors = mProgram->getRenderer()->getReservedFragmentUniformVectors() + caps.maxFragmentUniformVectors; + unsigned int maxFragmentVectors = mProgram->getReservedUniformVectors(GL_FRAGMENT_SHADER) + caps.maxFragmentUniformVectors; if (uniform.psRegisterIndex + uniform.registerCount > maxFragmentVectors) { infoLog.append("Fragment shader active uniforms exceed GL_MAX_FRAGMENT_UNIFORM_VECTORS (%u)", @@ -2347,8 +1921,8 @@ bool ProgramBinary::defineUniformBlock(InfoLog &infoLog, const Shader &shader, c UniformBlock *uniformBlock = mUniformBlocks[blockIndex + uniformBlockElement]; ASSERT(uniformBlock->name == interfaceBlock.name); - if (!assignUniformBlockRegister(infoLog, uniformBlock, shader.getType(), - interfaceBlockRegister + uniformBlockElement, caps)) + if (!mProgram->assignUniformBlockRegister(infoLog, uniformBlock, shader.getType(), + interfaceBlockRegister + uniformBlockElement, caps)) { return false; } @@ -2358,31 +1932,6 @@ bool ProgramBinary::defineUniformBlock(InfoLog &infoLog, const Shader &shader, c return true; } -bool ProgramBinary::assignUniformBlockRegister(InfoLog &infoLog, UniformBlock *uniformBlock, GLenum shader, unsigned int registerIndex, const Caps &caps) -{ - if (shader == GL_VERTEX_SHADER) - { - uniformBlock->vsRegisterIndex = registerIndex; - if (registerIndex - mProgram->getRenderer()->getReservedVertexUniformBuffers() >= caps.maxVertexUniformBlocks) - { - infoLog.append("Vertex shader uniform block count exceed GL_MAX_VERTEX_UNIFORM_BLOCKS (%u)", caps.maxVertexUniformBlocks); - return false; - } - } - else if (shader == GL_FRAGMENT_SHADER) - { - uniformBlock->psRegisterIndex = registerIndex; - if (registerIndex - mProgram->getRenderer()->getReservedFragmentUniformBuffers() >= caps.maxFragmentUniformBlocks) - { - infoLog.append("Fragment shader uniform block count exceed GL_MAX_FRAGMENT_UNIFORM_BLOCKS (%u)", caps.maxFragmentUniformBlocks); - return false; - } - } - else UNREACHABLE(); - - return true; -} - bool ProgramBinary::isValidated() const { return mValidated; @@ -2789,21 +2338,11 @@ void ProgramBinary::sortAttributesByLayout(rx::TranslatedAttribute attributes[MA void ProgramBinary::reset() { - SafeDeleteContainer(mVertexExecutables); - SafeDeleteContainer(mPixelExecutables); - - SafeDelete(mGeometryExecutable); - - mTransformFeedbackBufferMode = GL_NONE; - mTransformFeedbackLinkedVaryings.clear(); - mSamplersPS.clear(); mSamplersVS.clear(); mUsedVertexSamplerRange = 0; mUsedPixelSamplerRange = 0; - mUsesPointSize = false; - mShaderVersion = 0; mDirtySamplerMapping = true; SafeDeleteContainer(mUniforms); diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h index 738d63f9..da35d4f0 100644 --- a/src/libGLESv2/ProgramBinary.h +++ b/src/libGLESv2/ProgramBinary.h @@ -24,11 +24,6 @@ #include <string> #include <vector> -// TODO(jmadill): place this in workarounds library -#define ANGLE_WORKAROUND_ENABLED 1 -#define ANGLE_WORKAROUND_DISABLED 2 -#define ANGLE_MRT_PERF_WORKAROUND ANGLE_WORKAROUND_ENABLED - namespace sh { class HLSLBlockEncoder; @@ -91,6 +86,14 @@ struct LinkedVarying unsigned int semanticIndexCount; }; +struct LinkResult +{ + bool linkSuccess; + Error error; + + LinkResult(bool linkSuccess, const Error &error); +}; + // This is the result of linking a program. It is the state that would be passed to ProgramBinary. class ProgramBinary : public RefCountObject { @@ -101,11 +104,6 @@ class ProgramBinary : public RefCountObject rx::ProgramImpl *getImplementation() { return mProgram; } const rx::ProgramImpl *getImplementation() const { return mProgram; } - rx::ShaderExecutable *getPixelExecutableForFramebuffer(const Framebuffer *fbo); - rx::ShaderExecutable *getPixelExecutableForOutputLayout(const std::vector<GLenum> &outputLayout); - rx::ShaderExecutable *getVertexExecutableForInputLayout(const VertexFormat inputLayout[MAX_VERTEX_ATTRIBS]); - rx::ShaderExecutable *getGeometryExecutable() const; - GLuint getAttributeLocation(const char *name); int getSemanticIndex(int attributeIndex); @@ -113,8 +111,6 @@ class ProgramBinary : public RefCountObject GLenum getSamplerTextureType(SamplerType type, unsigned int samplerIndex); GLint getUsedSamplerRange(SamplerType type); bool usesPointSize() const; - bool usesPointSpriteEmulation() const; - bool usesGeometryShader() const; GLint getUniformLocation(std::string name); GLuint getUniformIndex(std::string name); @@ -146,16 +142,17 @@ class ProgramBinary : public RefCountObject void getUniformuiv(GLint location, GLuint *params); void dirtyAllUniforms(); - void applyUniforms(); - bool applyUniformBuffers(const std::vector<Buffer*> boundBuffers, const Caps &caps); - bool load(InfoLog &infoLog, GLenum binaryFormat, const void *binary, GLsizei length); - bool save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length); + Error applyUniforms(); + Error applyUniformBuffers(const std::vector<Buffer*> boundBuffers, const Caps &caps); + + LinkResult load(InfoLog &infoLog, GLenum binaryFormat, const void *binary, GLsizei length); + Error save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length); GLint getLength(); - bool link(InfoLog &infoLog, const AttributeBindings &attributeBindings, Shader *fragmentShader, Shader *vertexShader, - const std::vector<std::string>& transformFeedbackVaryings, GLenum transformFeedbackBufferMode, const Caps &caps); - void getAttachedShaders(GLsizei maxCount, GLsizei *count, GLuint *shaders); + LinkResult link(InfoLog &infoLog, const AttributeBindings &attributeBindings, Shader *fragmentShader, Shader *vertexShader, + const std::vector<std::string>& transformFeedbackVaryings, GLenum transformFeedbackBufferMode, + const Caps &caps); void getActiveAttribute(GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) const; GLint getActiveAttributeCount() const; @@ -187,7 +184,6 @@ class ProgramBinary : public RefCountObject void updateSamplerMapping(); unsigned int getSerial() const; - int getShaderVersion() const; void initAttributesByLayout(); void sortAttributesByLayout(rx::TranslatedAttribute attributes[MAX_VERTEX_ATTRIBS], int sortedSemanticIndices[MAX_VERTEX_ATTRIBS]) const; @@ -252,63 +248,16 @@ class ProgramBinary : public RefCountObject template <typename T> void getUniformv(GLint location, T *params, GLenum uniformType); - class VertexExecutable - { - public: - VertexExecutable(const VertexFormat inputLayout[MAX_VERTEX_ATTRIBS], - const GLenum signature[MAX_VERTEX_ATTRIBS], - rx::ShaderExecutable *shaderExecutable); - ~VertexExecutable(); - - bool matchesSignature(const GLenum convertedLayout[MAX_VERTEX_ATTRIBS]) const; - - const VertexFormat *inputs() const { return mInputs; } - const GLenum *signature() const { return mSignature; } - rx::ShaderExecutable *shaderExecutable() const { return mShaderExecutable; } - - private: - VertexFormat mInputs[MAX_VERTEX_ATTRIBS]; - GLenum mSignature[MAX_VERTEX_ATTRIBS]; - rx::ShaderExecutable *mShaderExecutable; - }; - - class PixelExecutable - { - public: - PixelExecutable(const std::vector<GLenum> &outputSignature, rx::ShaderExecutable *shaderExecutable); - ~PixelExecutable(); - - bool matchesSignature(const std::vector<GLenum> &signature) const { return mOutputSignature == signature; } - - const std::vector<GLenum> &outputSignature() const { return mOutputSignature; } - rx::ShaderExecutable *shaderExecutable() const { return mShaderExecutable; } - - private: - std::vector<GLenum> mOutputSignature; - rx::ShaderExecutable *mShaderExecutable; - }; - rx::ProgramImpl *mProgram; - std::vector<VertexExecutable *> mVertexExecutables; - std::vector<PixelExecutable *> mPixelExecutables; - - rx::ShaderExecutable *mGeometryExecutable; - sh::Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS]; - sh::Attribute mShaderAttributes[MAX_VERTEX_ATTRIBS]; int mSemanticIndex[MAX_VERTEX_ATTRIBS]; int mAttributesByLayout[MAX_VERTEX_ATTRIBS]; - GLenum mTransformFeedbackBufferMode; - std::vector<LinkedVarying> mTransformFeedbackLinkedVaryings; - std::vector<Sampler> mSamplersPS; std::vector<Sampler> mSamplersVS; GLuint mUsedVertexSamplerRange; GLuint mUsedPixelSamplerRange; - bool mUsesPointSize; - int mShaderVersion; bool mDirtySamplerMapping; std::vector<LinkedUniform*> mUniforms; diff --git a/src/libGLESv2/ResourceManager.cpp b/src/libGLESv2/ResourceManager.cpp index 9121de17..04fa8410 100644 --- a/src/libGLESv2/ResourceManager.cpp +++ b/src/libGLESv2/ResourceManager.cpp @@ -146,7 +146,7 @@ GLuint ResourceManager::createFenceSync() { GLuint handle = mFenceSyncHandleAllocator.allocate(); - FenceSync *fenceSync = new FenceSync(mRenderer, handle); + FenceSync *fenceSync = new FenceSync(mRenderer->createFenceSync(), handle); fenceSync->addRef(); mFenceSyncMap[handle] = fenceSync; diff --git a/src/libGLESv2/Shader.cpp b/src/libGLESv2/Shader.cpp index e3da2b1a..94de5135 100644 --- a/src/libGLESv2/Shader.cpp +++ b/src/libGLESv2/Shader.cpp @@ -117,6 +117,12 @@ void Shader::getTranslatedSource(GLsizei bufSize, GLsizei *length, char *buffer) getSourceImpl(mShader->getTranslatedSource(), bufSize, length, buffer); } +void Shader::getTranslatedSourceWithDebugInfo(GLsizei bufSize, GLsizei *length, char *buffer) const +{ + std::string debugInfo(mShader->getDebugInfo()); + getSourceImpl(debugInfo, bufSize, length, buffer); +} + void Shader::compile() { mCompiled = mShader->compile(mSource); diff --git a/src/libGLESv2/Shader.h b/src/libGLESv2/Shader.h index 7ba3bd16..d4a4d94e 100644 --- a/src/libGLESv2/Shader.h +++ b/src/libGLESv2/Shader.h @@ -73,6 +73,7 @@ class Shader void getSource(GLsizei bufSize, GLsizei *length, char *buffer) const; int getTranslatedSourceLength() const; void getTranslatedSource(GLsizei bufSize, GLsizei *length, char *buffer) const; + void getTranslatedSourceWithDebugInfo(GLsizei bufSize, GLsizei *length, char *buffer) const; void compile(); bool isCompiled() const { return mCompiled; } diff --git a/src/libGLESv2/State.cpp b/src/libGLESv2/State.cpp index 3c03b90e..71f32e7d 100644 --- a/src/libGLESv2/State.cpp +++ b/src/libGLESv2/State.cpp @@ -22,6 +22,8 @@ namespace gl State::State() { + mMaxDrawBuffers = 0; + mMaxCombinedTextureImageUnits = 0; } State::~State() @@ -31,7 +33,8 @@ State::~State() void State::initialize(const Caps& caps, GLuint clientVersion) { - mContext = NULL; + mMaxDrawBuffers = caps.maxDrawBuffers; + mMaxCombinedTextureImageUnits = caps.maxCombinedTextureImageUnits; setClearColor(0.0f, 0.0f, 0.0f, 0.0f); @@ -111,11 +114,15 @@ void State::initialize(const Caps& caps, GLuint clientVersion) mActiveSampler = 0; const GLfloat defaultFloatValues[] = { 0.0f, 0.0f, 0.0f, 1.0f }; - for (int attribIndex = 0; attribIndex < MAX_VERTEX_ATTRIBS; attribIndex++) + mVertexAttribCurrentValues.resize(caps.maxVertexAttributes); + for (size_t attribIndex = 0; attribIndex < mVertexAttribCurrentValues.size(); ++attribIndex) { mVertexAttribCurrentValues[attribIndex].setFloatValues(defaultFloatValues); } + mUniformBuffers.resize(caps.maxCombinedUniformBlocks); + mTransformFeedbackBuffers.resize(caps.maxTransformFeedbackSeparateAttributes); + mSamplerTextures[GL_TEXTURE_2D].resize(caps.maxCombinedTextureImageUnits); mSamplerTextures[GL_TEXTURE_CUBE_MAP].resize(caps.maxCombinedTextureImageUnits); if (clientVersion >= 3) @@ -153,12 +160,6 @@ void State::reset() mSamplers[samplerIdx].set(NULL); } - const GLfloat defaultFloatValues[] = { 0.0f, 0.0f, 0.0f, 1.0f }; - for (int attribIndex = 0; attribIndex < MAX_VERTEX_ATTRIBS; attribIndex++) - { - mVertexAttribCurrentValues[attribIndex].setFloatValues(defaultFloatValues); - } - mArrayBuffer.set(NULL); mRenderbuffer.set(NULL); @@ -170,15 +171,15 @@ void State::reset() } mGenericUniformBuffer.set(NULL); - for (int i = 0; i < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS; i++) + mGenericTransformFeedbackBuffer.set(NULL); + for (BufferVector::iterator bufItr = mUniformBuffers.begin(); bufItr != mUniformBuffers.end(); ++bufItr) { - mUniformBuffers[i].set(NULL); + bufItr->set(NULL); } - mGenericTransformFeedbackBuffer.set(NULL); - for (int i = 0; i < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS; i++) + for (BufferVector::iterator bufItr = mTransformFeedbackBuffers.begin(); bufItr != mTransformFeedbackBuffers.end(); ++bufItr) { - mTransformFeedbackBuffers[i].set(NULL); + bufItr->set(NULL); } mCopyReadBuffer.set(NULL); @@ -947,14 +948,14 @@ void State::setIndexedUniformBufferBinding(GLuint index, Buffer *buffer, GLintpt GLuint State::getIndexedUniformBufferId(GLuint index) const { - ASSERT(index < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS); + ASSERT(static_cast<size_t>(index) < mUniformBuffers.size()); return mUniformBuffers[index].id(); } Buffer *State::getIndexedUniformBuffer(GLuint index) const { - ASSERT(index < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS); + ASSERT(static_cast<size_t>(index) < mUniformBuffers.size()); return mUniformBuffers[index].get(); } @@ -971,25 +972,30 @@ void State::setIndexedTransformFeedbackBufferBinding(GLuint index, Buffer *buffe GLuint State::getIndexedTransformFeedbackBufferId(GLuint index) const { - ASSERT(index < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS); + ASSERT(static_cast<size_t>(index) < mTransformFeedbackBuffers.size()); return mTransformFeedbackBuffers[index].id(); } Buffer *State::getIndexedTransformFeedbackBuffer(GLuint index) const { - ASSERT(index < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS); + ASSERT(static_cast<size_t>(index) < mTransformFeedbackBuffers.size()); return mTransformFeedbackBuffers[index].get(); } GLuint State::getIndexedTransformFeedbackBufferOffset(GLuint index) const { - ASSERT(index < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS); + ASSERT(static_cast<size_t>(index) < mTransformFeedbackBuffers.size()); return mTransformFeedbackBuffers[index].getOffset(); } +size_t State::getTransformFeedbackBufferIndexRange() const +{ + return mTransformFeedbackBuffers.size(); +} + void State::setCopyReadBufferBinding(Buffer *buffer) { mCopyReadBuffer.set(buffer); @@ -1033,19 +1039,19 @@ void State::setEnableVertexAttribArray(unsigned int attribNum, bool enabled) void State::setVertexAttribf(GLuint index, const GLfloat values[4]) { - ASSERT(index < gl::MAX_VERTEX_ATTRIBS); + ASSERT(static_cast<size_t>(index) < mVertexAttribCurrentValues.size()); mVertexAttribCurrentValues[index].setFloatValues(values); } void State::setVertexAttribu(GLuint index, const GLuint values[4]) { - ASSERT(index < gl::MAX_VERTEX_ATTRIBS); + ASSERT(static_cast<size_t>(index) < mVertexAttribCurrentValues.size()); mVertexAttribCurrentValues[index].setUnsignedIntValues(values); } void State::setVertexAttribi(GLuint index, const GLint values[4]) { - ASSERT(index < gl::MAX_VERTEX_ATTRIBS); + ASSERT(static_cast<size_t>(index) < mVertexAttribCurrentValues.size()); mVertexAttribCurrentValues[index].setIntValues(values); } @@ -1062,15 +1068,10 @@ const VertexAttribute &State::getVertexAttribState(unsigned int attribNum) const const VertexAttribCurrentValueData &State::getVertexAttribCurrentValue(unsigned int attribNum) const { - ASSERT(attribNum < MAX_VERTEX_ATTRIBS); + ASSERT(static_cast<size_t>(attribNum) < mVertexAttribCurrentValues.size()); return mVertexAttribCurrentValues[attribNum]; } -const VertexAttribCurrentValueData *State::getVertexAttribCurrentValues() const -{ - return mVertexAttribCurrentValues; -} - const void *State::getVertexAttribPointer(unsigned int attribNum) const { return getVertexArray()->getVertexAttribute(attribNum).pointer; @@ -1185,7 +1186,7 @@ void State::getIntegerv(GLenum pname, GLint *params) if (pname >= GL_DRAW_BUFFER0_EXT && pname <= GL_DRAW_BUFFER15_EXT) { unsigned int colorAttachment = (pname - GL_DRAW_BUFFER0_EXT); - ASSERT(colorAttachment < mContext->getCaps().maxDrawBuffers); + ASSERT(colorAttachment < mMaxDrawBuffers); Framebuffer *framebuffer = mDrawFramebuffer; *params = framebuffer->getDrawBufferState(colorAttachment); return; @@ -1332,19 +1333,19 @@ void State::getIntegerv(GLenum pname, GLint *params) } break; case GL_TEXTURE_BINDING_2D: - ASSERT(mActiveSampler < mContext->getCaps().maxCombinedTextureImageUnits); + ASSERT(mActiveSampler < mMaxCombinedTextureImageUnits); *params = mSamplerTextures.at(GL_TEXTURE_2D)[mActiveSampler].id(); break; case GL_TEXTURE_BINDING_CUBE_MAP: - ASSERT(mActiveSampler < mContext->getCaps().maxCombinedTextureImageUnits); + ASSERT(mActiveSampler < mMaxCombinedTextureImageUnits); *params = mSamplerTextures.at(GL_TEXTURE_CUBE_MAP)[mActiveSampler].id(); break; case GL_TEXTURE_BINDING_3D: - ASSERT(mActiveSampler <mContext->getCaps().maxCombinedTextureImageUnits); + ASSERT(mActiveSampler < mMaxCombinedTextureImageUnits); *params = mSamplerTextures.at(GL_TEXTURE_3D)[mActiveSampler].id(); break; case GL_TEXTURE_BINDING_2D_ARRAY: - ASSERT(mActiveSampler < mContext->getCaps().maxCombinedTextureImageUnits); + ASSERT(mActiveSampler < mMaxCombinedTextureImageUnits); *params = mSamplerTextures.at(GL_TEXTURE_2D_ARRAY)[mActiveSampler].id(); break; case GL_UNIFORM_BUFFER_BINDING: @@ -1376,13 +1377,13 @@ bool State::getIndexedIntegerv(GLenum target, GLuint index, GLint *data) switch (target) { case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: - if (index < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS) + if (static_cast<size_t>(index) < mTransformFeedbackBuffers.size()) { *data = mTransformFeedbackBuffers[index].id(); } break; case GL_UNIFORM_BUFFER_BINDING: - if (index < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS) + if (static_cast<size_t>(index) < mUniformBuffers.size()) { *data = mUniformBuffers[index].id(); } @@ -1399,25 +1400,25 @@ bool State::getIndexedInteger64v(GLenum target, GLuint index, GLint64 *data) switch (target) { case GL_TRANSFORM_FEEDBACK_BUFFER_START: - if (index < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS) + if (static_cast<size_t>(index) < mTransformFeedbackBuffers.size()) { *data = mTransformFeedbackBuffers[index].getOffset(); } break; case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: - if (index < IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS) + if (static_cast<size_t>(index) < mTransformFeedbackBuffers.size()) { *data = mTransformFeedbackBuffers[index].getSize(); } break; case GL_UNIFORM_BUFFER_START: - if (index < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS) + if (static_cast<size_t>(index) < mUniformBuffers.size()) { *data = mUniformBuffers[index].getOffset(); } break; case GL_UNIFORM_BUFFER_SIZE: - if (index < IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS) + if (static_cast<size_t>(index) < mUniformBuffers.size()) { *data = mUniformBuffers[index].getSize(); } @@ -1433,9 +1434,9 @@ bool State::hasMappedBuffer(GLenum target) const { if (target == GL_ARRAY_BUFFER) { - for (unsigned int attribIndex = 0; attribIndex < gl::MAX_VERTEX_ATTRIBS; attribIndex++) + for (size_t attribIndex = 0; attribIndex < mVertexAttribCurrentValues.size(); attribIndex++) { - const gl::VertexAttribute &vertexAttrib = getVertexAttribState(attribIndex); + const gl::VertexAttribute &vertexAttrib = getVertexAttribState(static_cast<unsigned int>(attribIndex)); gl::Buffer *boundBuffer = vertexAttrib.buffer.get(); if (vertexAttrib.enabled && boundBuffer && boundBuffer->isMapped()) { diff --git a/src/libGLESv2/State.h b/src/libGLESv2/State.h index 5f043313..00f246c2 100644 --- a/src/libGLESv2/State.h +++ b/src/libGLESv2/State.h @@ -35,8 +35,6 @@ class State void initialize(const Caps& caps, GLuint clientVersion); void reset(); - void setContext(Context *context) { mContext = context; } - // State chunk getters const RasterizerState &getRasterizerState() const; const BlendState &getBlendState() const; @@ -199,6 +197,7 @@ class State GLuint getIndexedTransformFeedbackBufferId(GLuint index) const; Buffer *getIndexedTransformFeedbackBuffer(GLuint index) const; GLuint getIndexedTransformFeedbackBufferOffset(GLuint index) const; + size_t getTransformFeedbackBufferIndexRange() const; // GL_COPY_[READ/WRITE]_BUFFER void setCopyReadBufferBinding(Buffer *buffer); @@ -220,7 +219,6 @@ class State bool normalized, bool pureInteger, GLsizei stride, const void *pointer); const VertexAttribute &getVertexAttribState(unsigned int attribNum) const; const VertexAttribCurrentValueData &getVertexAttribCurrentValue(unsigned int attribNum) const; - const VertexAttribCurrentValueData *getVertexAttribCurrentValues() const; const void *getVertexAttribPointer(unsigned int attribNum) const; // Pixel pack state manipulation @@ -247,7 +245,9 @@ class State private: DISALLOW_COPY_AND_ASSIGN(State); - Context *mContext; + // Cached values from Context's caps + GLuint mMaxDrawBuffers; + GLuint mMaxCombinedTextureImageUnits; ColorF mColorClearValue; GLclampf mDepthClearValue; @@ -283,7 +283,8 @@ class State GLuint mCurrentProgramId; BindingPointer<ProgramBinary> mCurrentProgramBinary; - VertexAttribCurrentValueData mVertexAttribCurrentValues[MAX_VERTEX_ATTRIBS]; // From glVertexAttrib + typedef std::vector<VertexAttribCurrentValueData> VertexAttribVector; + VertexAttribVector mVertexAttribCurrentValues; // From glVertexAttrib VertexArray *mVertexArray; // Texture and sampler bindings @@ -300,11 +301,12 @@ class State ActiveQueryMap mActiveQueries; BindingPointer<Buffer> mGenericUniformBuffer; - OffsetBindingPointer<Buffer> mUniformBuffers[IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS]; + typedef std::vector< OffsetBindingPointer<Buffer> > BufferVector; + BufferVector mUniformBuffers; BindingPointer<TransformFeedback> mTransformFeedback; BindingPointer<Buffer> mGenericTransformFeedbackBuffer; - OffsetBindingPointer<Buffer> mTransformFeedbackBuffers[IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; + BufferVector mTransformFeedbackBuffers; BindingPointer<Buffer> mCopyReadBuffer; BindingPointer<Buffer> mCopyWriteBuffer; diff --git a/src/libGLESv2/Texture.cpp b/src/libGLESv2/Texture.cpp index 3ec492de..deeeeaec 100644 --- a/src/libGLESv2/Texture.cpp +++ b/src/libGLESv2/Texture.cpp @@ -47,11 +47,14 @@ bool IsPointSampled(const gl::SamplerState &samplerState) return (samplerState.magFilter == GL_NEAREST && (samplerState.minFilter == GL_NEAREST || samplerState.minFilter == GL_NEAREST_MIPMAP_NEAREST)); } +unsigned int Texture::mCurrentTextureSerial = 1; + Texture::Texture(rx::TextureImpl *impl, GLuint id, GLenum target) : RefCountObject(id), mTexture(impl), + mTextureSerial(issueTextureSerial()), mUsage(GL_NONE), - mImmutable(false), + mImmutableLevelCount(0), mTarget(target) { } @@ -72,16 +75,6 @@ void Texture::setUsage(GLenum usage) getImplementation()->setUsage(usage); } -void Texture::getSamplerStateWithNativeOffset(SamplerState *sampler) -{ - *sampler = mSamplerState; - - // Offset the effective base level by the texture storage's top level - rx::TextureStorage *texture = getNativeTexture(); - int topLevel = texture ? texture->getTopLevel() : 0; - sampler->baseLevel = topLevel + mSamplerState.baseLevel; -} - GLenum Texture::getUsage() const { return mUsage; @@ -138,35 +131,35 @@ GLenum Texture::getActualFormat(const ImageIndex &index) const return image->getActualFormat(); } -rx::TextureStorage *Texture::getNativeTexture() +void Texture::generateMipmaps() { - return getImplementation()->getNativeTexture(); + getImplementation()->generateMipmaps(); } -void Texture::generateMipmaps() +Error Texture::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source) { - getImplementation()->generateMipmaps(); + return mTexture->copySubImage(target, level, xoffset, yoffset, zoffset, x, y, width, height, source); } -void Texture::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source) +unsigned int Texture::getTextureSerial() const { - getImplementation()->copySubImage(target, level, xoffset, yoffset, zoffset, x, y, width, height, source); + return mTextureSerial; } -unsigned int Texture::getTextureSerial() +unsigned int Texture::issueTextureSerial() { - rx::TextureStorage *texture = getNativeTexture(); - return texture ? texture->getTextureSerial() : 0; + return mCurrentTextureSerial++; } bool Texture::isImmutable() const { - return mImmutable; + return (mImmutableLevelCount > 0); } int Texture::immutableLevelCount() { - return (mImmutable ? getNativeTexture()->getLevelCount() : 0); + return mImmutableLevelCount; } int Texture::mipLevels() const @@ -226,11 +219,11 @@ GLenum Texture2D::getActualFormat(GLint level) const return GL_NONE; } -void Texture2D::setImage(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error Texture2D::setImage(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { releaseTexImage(); - mTexture->setImage(GL_TEXTURE_2D, level, width, height, 1, internalFormat, format, type, unpack, pixels); + return mTexture->setImage(GL_TEXTURE_2D, level, width, height, 1, internalFormat, format, type, unpack, pixels); } void Texture2D::bindTexImage(egl::Surface *surface) @@ -254,35 +247,44 @@ void Texture2D::releaseTexImage() } } -void Texture2D::setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, const void *pixels) +Error Texture2D::setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, + const void *pixels) { releaseTexImage(); - mTexture->setCompressedImage(GL_TEXTURE_2D, level, format, width, height, 1, imageSize, pixels); + return mTexture->setCompressedImage(GL_TEXTURE_2D, level, format, width, height, 1, imageSize, pixels); } -void Texture2D::subImage(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error Texture2D::subImage(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->subImage(GL_TEXTURE_2D, level, xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels); + return mTexture->subImage(GL_TEXTURE_2D, level, xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels); } -void Texture2D::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *pixels) +Error Texture2D::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, + GLenum format, GLsizei imageSize, const void *pixels) { - mTexture->subImageCompressed(GL_TEXTURE_2D, level, xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels); + return mTexture->subImageCompressed(GL_TEXTURE_2D, level, xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels); } -void Texture2D::copyImage(GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source) +Error Texture2D::copyImage(GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, + Framebuffer *source) { releaseTexImage(); - mTexture->copyImage(GL_TEXTURE_2D, level, format, x, y, width, height, source); + return mTexture->copyImage(GL_TEXTURE_2D, level, format, x, y, width, height, source); } -void Texture2D::storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) +Error Texture2D::storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - mImmutable = true; + Error error = mTexture->storage(GL_TEXTURE_2D, levels, internalformat, width, height, 1); + if (error.isError()) + { + return error; + } + + mImmutableLevelCount = levels; - mTexture->storage(GL_TEXTURE_2D, levels, internalformat, width, height, 1); + return Error(GL_NO_ERROR); } // Tests for 2D texture sampling completeness. [OpenGL ES 2.0.24] section 3.8.2 page 85. @@ -467,49 +469,27 @@ GLenum TextureCubeMap::getActualFormat(GLenum target, GLint level) const return GL_NONE; } -void TextureCubeMap::setImagePosX(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) -{ - mTexture->setImage(GL_TEXTURE_CUBE_MAP_POSITIVE_X, level, width, height, 1, internalFormat, format, type, unpack, pixels); -} - -void TextureCubeMap::setImageNegX(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) -{ - mTexture->setImage(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, level, width, height, 1, internalFormat, format, type, unpack, pixels); -} - -void TextureCubeMap::setImagePosY(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error TextureCubeMap::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->setImage(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, level, width, height, 1, internalFormat, format, type, unpack, pixels); + return mTexture->setImage(target, level, width, height, 1, internalFormat, format, type, unpack, pixels); } -void TextureCubeMap::setImageNegY(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error TextureCubeMap::setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, + GLsizei imageSize, const void *pixels) { - mTexture->setImage(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, level, width, height, 1, internalFormat, format, type, unpack, pixels); + return mTexture->setCompressedImage(target, level, format, width, height, 1, imageSize, pixels); } -void TextureCubeMap::setImagePosZ(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error TextureCubeMap::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->setImage(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, level, width, height, 1, internalFormat, format, type, unpack, pixels); + return mTexture->subImage(target, level, xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels); } -void TextureCubeMap::setImageNegZ(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error TextureCubeMap::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, GLenum format, + GLsizei imageSize, const void *pixels) { - mTexture->setImage(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, level, width, height, 1, internalFormat, format, type, unpack, pixels); -} - -void TextureCubeMap::setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, const void *pixels) -{ - mTexture->setCompressedImage(target, level, format, width, height, 1, imageSize, pixels); -} - -void TextureCubeMap::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) -{ - mTexture->subImage(target, level, xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels); -} - -void TextureCubeMap::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *pixels) -{ - mTexture->subImageCompressed(target, level, xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels); + return mTexture->subImageCompressed(target, level, xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels); } // Tests for cube texture completeness. [OpenGL ES 2.0.24] section 3.7.10 page 81. @@ -549,16 +529,23 @@ bool TextureCubeMap::isDepth(GLenum target, GLint level) const return GetInternalFormatInfo(getInternalFormat(target, level)).depthBits > 0; } -void TextureCubeMap::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source) +Error TextureCubeMap::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, + GLsizei width, GLsizei height, Framebuffer *source) { - mTexture->copyImage(target, level, format, x, y, width, height, source); + return mTexture->copyImage(target, level, format, x, y, width, height, source); } -void TextureCubeMap::storage(GLsizei levels, GLenum internalformat, GLsizei size) +Error TextureCubeMap::storage(GLsizei levels, GLenum internalformat, GLsizei size) { - mImmutable = true; + Error error = mTexture->storage(GL_TEXTURE_CUBE_MAP, levels, internalformat, size, size, 1); + if (error.isError()) + { + return error; + } + + mImmutableLevelCount = levels; - mTexture->storage(GL_TEXTURE_CUBE_MAP, levels, internalformat, size, size, 1); + return Error(GL_NO_ERROR); } // Tests for texture sampling completeness @@ -734,31 +721,40 @@ bool Texture3D::isDepth(GLint level) const return GetInternalFormatInfo(getInternalFormat(level)).depthBits > 0; } -void Texture3D::setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error Texture3D::setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->setImage(GL_TEXTURE_3D, level, width, height, depth, internalFormat, format, type, unpack, pixels); + return mTexture->setImage(GL_TEXTURE_3D, level, width, height, depth, internalFormat, format, type, unpack, pixels); } -void Texture3D::setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) +Error Texture3D::setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, + GLsizei imageSize, const void *pixels) { - mTexture->setCompressedImage(GL_TEXTURE_3D, level, format, width, height, depth, imageSize, pixels); + return mTexture->setCompressedImage(GL_TEXTURE_3D, level, format, width, height, depth, imageSize, pixels); } -void Texture3D::subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error Texture3D::subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->subImage(GL_TEXTURE_3D, level, xoffset, yoffset, zoffset, width, height, depth, format, type, unpack, pixels); + return mTexture->subImage(GL_TEXTURE_3D, level, xoffset, yoffset, zoffset, width, height, depth, format, type, unpack, pixels); } -void Texture3D::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) +Error Texture3D::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, + GLsizei imageSize, const void *pixels) { - mTexture->subImageCompressed(GL_TEXTURE_3D, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pixels); + return mTexture->subImageCompressed(GL_TEXTURE_3D, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pixels); } -void Texture3D::storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +Error Texture3D::storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - mImmutable = true; + Error error = mTexture->storage(GL_TEXTURE_3D, levels, internalformat, width, height, depth); + if (error.isError()) + { + return error; + } - mTexture->storage(GL_TEXTURE_3D, levels, internalformat, width, height, depth); + mImmutableLevelCount = levels; + + return Error(GL_NO_ERROR); } bool Texture3D::isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const @@ -892,31 +888,40 @@ bool Texture2DArray::isDepth(GLint level) const return GetInternalFormatInfo(getInternalFormat(level)).depthBits > 0; } -void Texture2DArray::setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error Texture2DArray::setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->setImage(GL_TEXTURE_2D_ARRAY, level, width, height, depth, internalFormat, format, type, unpack, pixels); + return mTexture->setImage(GL_TEXTURE_2D_ARRAY, level, width, height, depth, internalFormat, format, type, unpack, pixels); } -void Texture2DArray::setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) +Error Texture2DArray::setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, + GLsizei imageSize, const void *pixels) { - mTexture->setCompressedImage(GL_TEXTURE_2D_ARRAY, level, format, width, height, depth, imageSize, pixels); + return mTexture->setCompressedImage(GL_TEXTURE_2D_ARRAY, level, format, width, height, depth, imageSize, pixels); } -void Texture2DArray::subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) +Error Texture2DArray::subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels) { - mTexture->subImage(GL_TEXTURE_2D_ARRAY, level, xoffset, yoffset, zoffset, width, height, depth, format, type, unpack, pixels); + return mTexture->subImage(GL_TEXTURE_2D_ARRAY, level, xoffset, yoffset, zoffset, width, height, depth, format, type, unpack, pixels); } -void Texture2DArray::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) +Error Texture2DArray::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, + GLsizei imageSize, const void *pixels) { - mTexture->subImageCompressed(GL_TEXTURE_2D_ARRAY, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pixels); + return mTexture->subImageCompressed(GL_TEXTURE_2D_ARRAY, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pixels); } -void Texture2DArray::storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +Error Texture2DArray::storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - mImmutable = true; + Error error = mTexture->storage(GL_TEXTURE_2D_ARRAY, levels, internalformat, width, height, depth); + if (error.isError()) + { + return error; + } + + mImmutableLevelCount = levels; - mTexture->storage(GL_TEXTURE_2D_ARRAY, levels, internalformat, width, height, depth); + return Error(GL_NO_ERROR); } bool Texture2DArray::isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const diff --git a/src/libGLESv2/Texture.h b/src/libGLESv2/Texture.h index ca5686fd..a3c7c2c3 100644 --- a/src/libGLESv2/Texture.h +++ b/src/libGLESv2/Texture.h @@ -14,7 +14,7 @@ #include "common/debug.h" #include "common/RefCountObject.h" #include "libGLESv2/angletypes.h" -#include "libGLESv2/constants.h" +#include "libGLESv2/Constants.h" #include "libGLESv2/renderer/TextureImpl.h" #include "libGLESv2/Caps.h" @@ -52,7 +52,6 @@ class Texture : public RefCountObject const SamplerState &getSamplerState() const { return mSamplerState; } SamplerState &getSamplerState() { return mSamplerState; } - void getSamplerStateWithNativeOffset(SamplerState *sampler); void setUsage(GLenum usage); GLenum getUsage() const; @@ -69,15 +68,15 @@ class Texture : public RefCountObject virtual bool isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const = 0; - rx::TextureStorage *getNativeTexture(); - virtual void generateMipmaps(); - virtual void copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source); + virtual Error copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source); - unsigned int getTextureSerial(); + // Texture serials provide a unique way of identifying a Texture that isn't a raw pointer. + // "id" is not good enough, as Textures can be deleted, then re-allocated with the same id. + unsigned int getTextureSerial() const; bool isImmutable() const; - int immutableLevelCount(); + GLsizei immutableLevelCount(); rx::TextureImpl *getImplementation() { return mTexture; } const rx::TextureImpl *getImplementation() const { return mTexture; } @@ -86,17 +85,20 @@ class Texture : public RefCountObject protected: int mipLevels() const; + const rx::Image *getBaseLevelImage() const; + static unsigned int issueTextureSerial(); rx::TextureImpl *mTexture; SamplerState mSamplerState; GLenum mUsage; - bool mImmutable; + GLsizei mImmutableLevelCount; GLenum mTarget; - const rx::Image *getBaseLevelImage() const; + const unsigned int mTextureSerial; + static unsigned int mCurrentTextureSerial; private: DISALLOW_COPY_AND_ASSIGN(Texture); @@ -116,12 +118,12 @@ class Texture2D : public Texture bool isCompressed(GLint level) const; bool isDepth(GLint level) const; - void setImage(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, const void *pixels); - void subImage(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *pixels); - void copyImage(GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source); - void storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); + Error setImage(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, const void *pixels); + Error subImage(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *pixels); + Error copyImage(GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source); + Error storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); virtual bool isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const; virtual void bindTexImage(egl::Surface *surface); @@ -152,19 +154,12 @@ class TextureCubeMap : public Texture bool isCompressed(GLenum target, GLint level) const; bool isDepth(GLenum target, GLint level) const; - void setImagePosX(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setImageNegX(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setImagePosY(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setImageNegY(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setImagePosZ(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setImageNegZ(GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - - void setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, const void *pixels); - - void subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *pixels); - void copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source); - void storage(GLsizei levels, GLenum internalformat, GLsizei size); + Error setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei imageSize, const void *pixels); + Error subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *pixels); + Error copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source); + Error storage(GLsizei levels, GLenum internalformat, GLsizei size); virtual bool isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const; @@ -195,11 +190,11 @@ class Texture3D : public Texture bool isCompressed(GLint level) const; bool isDepth(GLint level) const; - void setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); - void subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); - void storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + Error setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); + Error subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); + Error storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); virtual bool isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const; @@ -225,11 +220,11 @@ class Texture2DArray : public Texture bool isCompressed(GLint level) const; bool isDepth(GLint level) const; - void setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); - void subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); - void subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); - void storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + Error setImage(GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error setCompressedImage(GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); + Error subImage(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const PixelUnpackState &unpack, const void *pixels); + Error subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); + Error storage(GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); virtual bool isSamplerComplete(const SamplerState &samplerState, const TextureCapsMap &textureCaps, const Extensions &extensions, int clientVersion) const; diff --git a/src/libGLESv2/VertexArray.h b/src/libGLESv2/VertexArray.h index 993ba042..ff6bdb91 100644 --- a/src/libGLESv2/VertexArray.h +++ b/src/libGLESv2/VertexArray.h @@ -14,7 +14,7 @@ #define LIBGLESV2_VERTEXARRAY_H_ #include "common/RefCountObject.h" -#include "libGLESv2/constants.h" +#include "libGLESv2/Constants.h" #include "libGLESv2/VertexAttribute.h" #include <vector> @@ -44,7 +44,7 @@ class VertexArray void setAttributeState(unsigned int attributeIndex, gl::Buffer *boundBuffer, GLint size, GLenum type, bool normalized, bool pureInteger, GLsizei stride, const void *pointer); - const VertexAttribute* getVertexAttributes() const { return mVertexAttributes.data(); } + const VertexAttribute* getVertexAttributes() const { return &mVertexAttributes[0]; } Buffer *getElementArrayBuffer() const { return mElementArrayBuffer.get(); } void setElementArrayBuffer(Buffer *buffer); GLuint getElementArrayBufferId() const { return mElementArrayBuffer.id(); } diff --git a/src/libGLESv2/angletypes.cpp b/src/libGLESv2/angletypes.cpp index 06618d55..6fd02e0c 100644 --- a/src/libGLESv2/angletypes.cpp +++ b/src/libGLESv2/angletypes.cpp @@ -9,6 +9,8 @@ #include "libGLESv2/angletypes.h" #include "libGLESv2/ProgramBinary.h" #include "libGLESv2/VertexAttribute.h" +#include "libGLESv2/State.h" +#include "libGLESv2/VertexArray.h" namespace gl { @@ -148,16 +150,16 @@ VertexFormat::VertexFormat(const VertexAttribute &attrib, GLenum currentValueTyp void VertexFormat::GetInputLayout(VertexFormat *inputLayout, ProgramBinary *programBinary, - const VertexAttribute *attributes, - const gl::VertexAttribCurrentValueData *currentValues) + const State &state) { + const VertexAttribute *vertexAttributes = state.getVertexArray()->getVertexAttributes(); for (unsigned int attributeIndex = 0; attributeIndex < MAX_VERTEX_ATTRIBS; attributeIndex++) { int semanticIndex = programBinary->getSemanticIndex(attributeIndex); if (semanticIndex != -1) { - inputLayout[semanticIndex] = VertexFormat(attributes[attributeIndex], currentValues[attributeIndex].Type); + inputLayout[semanticIndex] = VertexFormat(vertexAttributes[attributeIndex], state.getVertexAttribCurrentValue(attributeIndex).Type); } } } @@ -192,4 +194,15 @@ bool VertexFormat::operator<(const VertexFormat& other) const return mPureInteger < other.mPureInteger; } +bool Box::operator==(const Box &other) const +{ + return (x == other.x && y == other.y && z == other.z && + width == other.width && height == other.height && depth == other.depth); +} + +bool Box::operator!=(const Box &other) const +{ + return !(*this == other); +} + } diff --git a/src/libGLESv2/angletypes.h b/src/libGLESv2/angletypes.h index 922053e9..78fe6b0e 100644 --- a/src/libGLESv2/angletypes.h +++ b/src/libGLESv2/angletypes.h @@ -9,12 +9,13 @@ #ifndef LIBGLESV2_ANGLETYPES_H_ #define LIBGLESV2_ANGLETYPES_H_ -#include "libGLESv2/constants.h" +#include "libGLESv2/Constants.h" #include "common/RefCountObject.h" namespace gl { class Buffer; +class State; class ProgramBinary; struct VertexAttribute; struct VertexAttribCurrentValueData; @@ -65,6 +66,8 @@ struct Box Box() : x(0), y(0), z(0), width(0), height(0), depth(0) { } Box(int x_in, int y_in, int z_in, int width_in, int height_in, int depth_in) : x(x_in), y(y_in), z(z_in), width(width_in), height(height_in), depth(depth_in) { } + bool operator==(const Box &other) const; + bool operator!=(const Box &other) const; }; struct Extents @@ -229,8 +232,7 @@ struct VertexFormat static void GetInputLayout(VertexFormat *inputLayout, ProgramBinary *programBinary, - const VertexAttribute *attributes, - const gl::VertexAttribCurrentValueData *currentValues); + const State& currentValues); bool operator==(const VertexFormat &other) const; bool operator!=(const VertexFormat &other) const; @@ -250,13 +252,6 @@ enum VertexConversionType VERTEX_CONVERT_BOTH = 3 }; -enum D3DWorkaroundType -{ - ANGLE_D3D_WORKAROUND_NONE, - ANGLE_D3D_WORKAROUND_SKIP_OPTIMIZATION, - ANGLE_D3D_WORKAROUND_MAX_OPTIMIZATION -}; - } #endif // LIBGLESV2_ANGLETYPES_H_ diff --git a/src/libGLESv2/formatutils.cpp b/src/libGLESv2/formatutils.cpp index 9d988292..8674d533 100644 --- a/src/libGLESv2/formatutils.cpp +++ b/src/libGLESv2/formatutils.cpp @@ -212,7 +212,7 @@ static bool NeverSupported(GLuint, const Extensions &) } template <GLuint minCoreGLVersion> -static bool RequireESVersion(GLuint clientVersion, const Extensions &) +static bool RequireES(GLuint clientVersion, const Extensions &) { return clientVersion >= minCoreGLVersion; } @@ -222,30 +222,37 @@ typedef bool(Extensions::*ExtensionBool); // Check support for a single extension template <ExtensionBool bool1> -static bool RequireExtension(GLuint, const Extensions & extensions) +static bool RequireExt(GLuint, const Extensions & extensions) { return extensions.*bool1; } // Check for a minimum client version or a single extension template <GLuint minCoreGLVersion, ExtensionBool bool1> -static bool RequireESVersionOrExtension(GLuint clientVersion, const Extensions &extensions) +static bool RequireESOrExt(GLuint clientVersion, const Extensions &extensions) { return clientVersion >= minCoreGLVersion || extensions.*bool1; } // Check for a minimum client version or two extensions template <GLuint minCoreGLVersion, ExtensionBool bool1, ExtensionBool bool2> -static bool RequireESVersionOrExtensions(GLuint clientVersion, const Extensions &extensions) +static bool RequireESOrExtAndExt(GLuint clientVersion, const Extensions &extensions) { - return clientVersion >= minCoreGLVersion || (extensions.*bool1 || extensions.*bool2); + return clientVersion >= minCoreGLVersion || (extensions.*bool1 && extensions.*bool2); +} + +// Check for a minimum client version or at least one of two extensions +template <GLuint minCoreGLVersion, ExtensionBool bool1, ExtensionBool bool2> +static bool RequireESOrExtOrExt(GLuint clientVersion, const Extensions &extensions) +{ + return clientVersion >= minCoreGLVersion || extensions.*bool1 || extensions.*bool2; } // Check support for two extensions template <ExtensionBool bool1, ExtensionBool bool2> -static bool RequireExtensions(GLuint, const Extensions &extensions) +static bool RequireExtAndExt(GLuint, const Extensions &extensions) { - return extensions.*bool1 || extensions.*bool2; + return extensions.*bool1 && extensions.*bool2; } InternalFormat::InternalFormat() @@ -380,105 +387,105 @@ static InternalFormatInfoMap BuildInternalFormatInfoMap() // From ES 3.0.1 spec, table 3.12 map.insert(InternalFormatInfoPair(GL_NONE, InternalFormat())); - // | Internal format | | R | G | B | A |S | Format | Type | Component type | SRGB | Texture supported | Renderable | Filterable | - map.insert(InternalFormatInfoPair(GL_R8, RGBAFormat( 8, 0, 0, 0, 0, GL_RED, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESVersionOrExtension<3, &Extensions::textureRG>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_R8_SNORM, RGBAFormat( 8, 0, 0, 0, 0, GL_RED, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireESVersion<3>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RG8, RGBAFormat( 8, 8, 0, 0, 0, GL_RG, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESVersionOrExtension<3, &Extensions::textureRG>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RG8_SNORM, RGBAFormat( 8, 8, 0, 0, 0, GL_RG, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireESVersion<3>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB8, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESVersionOrExtension<3, &Extensions::rgb8rgba8>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB8_SNORM, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireESVersion<3>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB565, RGBAFormat( 5, 6, 5, 0, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_NORMALIZED, false, RequireESVersion<2>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA4, RGBAFormat( 4, 4, 4, 4, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_NORMALIZED, false, RequireESVersion<2>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB5_A1, RGBAFormat( 5, 5, 5, 1, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_NORMALIZED, false, RequireESVersion<2>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA8, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESVersionOrExtension<3, &Extensions::rgb8rgba8>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA8_SNORM, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireESVersion<3>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB10_A2, RGBAFormat(10, 10, 10, 2, 0, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_NORMALIZED, false, RequireESVersion<3>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB10_A2UI, RGBAFormat(10, 10, 10, 2, 0, GL_RGBA_INTEGER, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_SRGB8, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, true, RequireESVersionOrExtension<3, &Extensions::sRGB>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_SRGB8_ALPHA8, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, true, RequireESVersionOrExtension<3, &Extensions::sRGB>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_R11F_G11F_B10F, RGBAFormat(11, 11, 10, 0, 0, GL_RGB, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_FLOAT, false, RequireESVersion<3>, RequireExtension<&Extensions::colorBufferFloat>, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB9_E5, RGBAFormat( 9, 9, 9, 0, 5, GL_RGB, GL_UNSIGNED_INT_5_9_9_9_REV, GL_FLOAT, false, RequireESVersion<3>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_R8I, RGBAFormat( 8, 0, 0, 0, 0, GL_RED_INTEGER, GL_BYTE, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_R8UI, RGBAFormat( 8, 0, 0, 0, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_R16I, RGBAFormat(16, 0, 0, 0, 0, GL_RED_INTEGER, GL_SHORT, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_R16UI, RGBAFormat(16, 0, 0, 0, 0, GL_RED_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_R32I, RGBAFormat(32, 0, 0, 0, 0, GL_RED_INTEGER, GL_INT, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_R32UI, RGBAFormat(32, 0, 0, 0, 0, GL_RED_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RG8I, RGBAFormat( 8, 8, 0, 0, 0, GL_RG_INTEGER, GL_BYTE, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RG8UI, RGBAFormat( 8, 8, 0, 0, 0, GL_RG_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RG16I, RGBAFormat(16, 16, 0, 0, 0, GL_RG_INTEGER, GL_SHORT, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RG16UI, RGBAFormat(16, 16, 0, 0, 0, GL_RG_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RG32I, RGBAFormat(32, 32, 0, 0, 0, GL_RG_INTEGER, GL_INT, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RG32UI, RGBAFormat(32, 32, 0, 0, 0, GL_RG_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGB8I, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB_INTEGER, GL_BYTE, GL_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGB8UI, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGB16I, RGBAFormat(16, 16, 16, 0, 0, GL_RGB_INTEGER, GL_SHORT, GL_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGB16UI, RGBAFormat(16, 16, 16, 0, 0, GL_RGB_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGB32I, RGBAFormat(32, 32, 32, 0, 0, GL_RGB_INTEGER, GL_INT, GL_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGB32UI, RGBAFormat(32, 32, 32, 0, 0, GL_RGB_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireESVersion<3>, NeverSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA8I, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA_INTEGER, GL_BYTE, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA8UI, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA16I, RGBAFormat(16, 16, 16, 16, 0, GL_RGBA_INTEGER, GL_SHORT, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA16UI, RGBAFormat(16, 16, 16, 16, 0, GL_RGBA_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA32I, RGBAFormat(32, 32, 32, 32, 0, GL_RGBA_INTEGER, GL_INT, GL_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA32UI, RGBAFormat(32, 32, 32, 32, 0, GL_RGBA_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireESVersion<3>, AlwaysSupported, NeverSupported))); - - map.insert(InternalFormatInfoPair(GL_BGRA8_EXT, RGBAFormat( 8, 8, 8, 8, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExtension<&Extensions::textureFormatBGRA8888>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_BGRA4_ANGLEX, RGBAFormat( 4, 4, 4, 4, 0, GL_BGRA_EXT, GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT, GL_UNSIGNED_NORMALIZED, false, RequireExtension<&Extensions::textureFormatBGRA8888>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_BGR5_A1_ANGLEX, RGBAFormat( 5, 5, 5, 1, 0, GL_BGRA_EXT, GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT, GL_UNSIGNED_NORMALIZED, false, RequireExtension<&Extensions::textureFormatBGRA8888>, AlwaysSupported, AlwaysSupported))); + // | Internal format | | R | G | B | A |S | Format | Type | Component type | SRGB | Texture supported | Renderable | Filterable | + map.insert(InternalFormatInfoPair(GL_R8, RGBAFormat( 8, 0, 0, 0, 0, GL_RED, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESOrExt<3, &Extensions::textureRG>, RequireESOrExt<3, &Extensions::textureRG>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_R8_SNORM, RGBAFormat( 8, 0, 0, 0, 0, GL_RED, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireES<3>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RG8, RGBAFormat( 8, 8, 0, 0, 0, GL_RG, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESOrExt<3, &Extensions::textureRG>, RequireESOrExt<3, &Extensions::textureRG>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RG8_SNORM, RGBAFormat( 8, 8, 0, 0, 0, GL_RG, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireES<3>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB8, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESOrExt<3, &Extensions::rgb8rgba8>, RequireESOrExt<3, &Extensions::rgb8rgba8>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB8_SNORM, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireES<3>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB565, RGBAFormat( 5, 6, 5, 0, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_NORMALIZED, false, RequireES<2>, RequireES<2>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA4, RGBAFormat( 4, 4, 4, 4, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_NORMALIZED, false, RequireES<2>, RequireES<2>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB5_A1, RGBAFormat( 5, 5, 5, 1, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_NORMALIZED, false, RequireES<2>, RequireES<2>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA8, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireESOrExt<3, &Extensions::rgb8rgba8>, RequireESOrExt<3, &Extensions::rgb8rgba8>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA8_SNORM, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA, GL_BYTE, GL_SIGNED_NORMALIZED, false, RequireES<3>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB10_A2, RGBAFormat(10, 10, 10, 2, 0, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_NORMALIZED, false, RequireES<3>, RequireES<3>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB10_A2UI, RGBAFormat(10, 10, 10, 2, 0, GL_RGBA_INTEGER, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_SRGB8, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, true, RequireESOrExt<3, &Extensions::sRGB>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_SRGB8_ALPHA8, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, true, RequireESOrExt<3, &Extensions::sRGB>, RequireESOrExt<3, &Extensions::sRGB>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_R11F_G11F_B10F, RGBAFormat(11, 11, 10, 0, 0, GL_RGB, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_FLOAT, false, RequireES<3>, RequireExt<&Extensions::colorBufferFloat>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB9_E5, RGBAFormat( 9, 9, 9, 0, 5, GL_RGB, GL_UNSIGNED_INT_5_9_9_9_REV, GL_FLOAT, false, RequireES<3>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_R8I, RGBAFormat( 8, 0, 0, 0, 0, GL_RED_INTEGER, GL_BYTE, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_R8UI, RGBAFormat( 8, 0, 0, 0, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_R16I, RGBAFormat(16, 0, 0, 0, 0, GL_RED_INTEGER, GL_SHORT, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_R16UI, RGBAFormat(16, 0, 0, 0, 0, GL_RED_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_R32I, RGBAFormat(32, 0, 0, 0, 0, GL_RED_INTEGER, GL_INT, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_R32UI, RGBAFormat(32, 0, 0, 0, 0, GL_RED_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RG8I, RGBAFormat( 8, 8, 0, 0, 0, GL_RG_INTEGER, GL_BYTE, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RG8UI, RGBAFormat( 8, 8, 0, 0, 0, GL_RG_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RG16I, RGBAFormat(16, 16, 0, 0, 0, GL_RG_INTEGER, GL_SHORT, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RG16UI, RGBAFormat(16, 16, 0, 0, 0, GL_RG_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RG32I, RGBAFormat(32, 32, 0, 0, 0, GL_RG_INTEGER, GL_INT, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RG32UI, RGBAFormat(32, 32, 0, 0, 0, GL_RG_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGB8I, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB_INTEGER, GL_BYTE, GL_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGB8UI, RGBAFormat( 8, 8, 8, 0, 0, GL_RGB_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGB16I, RGBAFormat(16, 16, 16, 0, 0, GL_RGB_INTEGER, GL_SHORT, GL_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGB16UI, RGBAFormat(16, 16, 16, 0, 0, GL_RGB_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGB32I, RGBAFormat(32, 32, 32, 0, 0, GL_RGB_INTEGER, GL_INT, GL_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGB32UI, RGBAFormat(32, 32, 32, 0, 0, GL_RGB_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireES<3>, NeverSupported, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA8I, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA_INTEGER, GL_BYTE, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA8UI, RGBAFormat( 8, 8, 8, 8, 0, GL_RGBA_INTEGER, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA16I, RGBAFormat(16, 16, 16, 16, 0, GL_RGBA_INTEGER, GL_SHORT, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA16UI, RGBAFormat(16, 16, 16, 16, 0, GL_RGBA_INTEGER, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA32I, RGBAFormat(32, 32, 32, 32, 0, GL_RGBA_INTEGER, GL_INT, GL_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA32UI, RGBAFormat(32, 32, 32, 32, 0, GL_RGBA_INTEGER, GL_UNSIGNED_INT, GL_UNSIGNED_INT, false, RequireES<3>, RequireES<3>, NeverSupported))); + + map.insert(InternalFormatInfoPair(GL_BGRA8_EXT, RGBAFormat( 8, 8, 8, 8, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::textureFormatBGRA8888>, RequireExt<&Extensions::textureFormatBGRA8888>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_BGRA4_ANGLEX, RGBAFormat( 4, 4, 4, 4, 0, GL_BGRA_EXT, GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::textureFormatBGRA8888>, RequireExt<&Extensions::textureFormatBGRA8888>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_BGR5_A1_ANGLEX, RGBAFormat( 5, 5, 5, 1, 0, GL_BGRA_EXT, GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::textureFormatBGRA8888>, RequireExt<&Extensions::textureFormatBGRA8888>, AlwaysSupported))); // Floating point renderability and filtering is provided by OES_texture_float and OES_texture_half_float - // | Internal format | | D |S | Format | Type | Comp | SRGB | Texture supported | Renderable | Filterable | - // | | | | | | | type | | | | | - map.insert(InternalFormatInfoPair(GL_R16F, RGBAFormat(16, 0, 0, 0, 0, GL_RED, GL_HALF_FLOAT, GL_FLOAT, false, RequireESVersionOrExtensions<3, &Extensions::textureHalfFloat, &Extensions::textureRG>, AlwaysSupported, RequireExtension<&Extensions::textureHalfFloatLinear>))); - map.insert(InternalFormatInfoPair(GL_RG16F, RGBAFormat(16, 16, 0, 0, 0, GL_RG, GL_HALF_FLOAT, GL_FLOAT, false, RequireESVersionOrExtensions<3, &Extensions::textureHalfFloat, &Extensions::textureRG>, AlwaysSupported, RequireExtension<&Extensions::textureHalfFloatLinear>))); - map.insert(InternalFormatInfoPair(GL_RGB16F, RGBAFormat(16, 16, 16, 0, 0, GL_RGB, GL_HALF_FLOAT, GL_FLOAT, false, RequireESVersionOrExtension<3, &Extensions::textureHalfFloat>, AlwaysSupported, RequireExtension<&Extensions::textureHalfFloatLinear>))); - map.insert(InternalFormatInfoPair(GL_RGBA16F, RGBAFormat(16, 16, 16, 16, 0, GL_RGBA, GL_HALF_FLOAT, GL_FLOAT, false, RequireESVersionOrExtension<3, &Extensions::textureHalfFloat>, AlwaysSupported, RequireExtension<&Extensions::textureHalfFloatLinear>))); - map.insert(InternalFormatInfoPair(GL_R32F, RGBAFormat(32, 0, 0, 0, 0, GL_RED, GL_FLOAT, GL_FLOAT, false, RequireESVersionOrExtensions<3, &Extensions::textureFloat, &Extensions::textureRG>, AlwaysSupported, RequireExtension<&Extensions::textureFloatLinear> ))); - map.insert(InternalFormatInfoPair(GL_RG32F, RGBAFormat(32, 32, 0, 0, 0, GL_RG, GL_FLOAT, GL_FLOAT, false, RequireESVersionOrExtensions<3, &Extensions::textureFloat, &Extensions::textureRG>, AlwaysSupported, RequireExtension<&Extensions::textureFloatLinear> ))); - map.insert(InternalFormatInfoPair(GL_RGB32F, RGBAFormat(32, 32, 32, 0, 0, GL_RGB, GL_FLOAT, GL_FLOAT, false, RequireESVersionOrExtension<3, &Extensions::textureFloat>, AlwaysSupported, RequireExtension<&Extensions::textureFloatLinear> ))); - map.insert(InternalFormatInfoPair(GL_RGBA32F, RGBAFormat(32, 32, 32, 32, 0, GL_RGBA, GL_FLOAT, GL_FLOAT, false, RequireESVersionOrExtension<3, &Extensions::textureFloat>, AlwaysSupported, RequireExtension<&Extensions::textureFloatLinear> ))); + // | Internal format | | D |S | Format | Type | Comp | SRGB | Texture supported | Renderable | Filterable | + // | | | | | | | type | | | | | + map.insert(InternalFormatInfoPair(GL_R16F, RGBAFormat(16, 0, 0, 0, 0, GL_RED, GL_HALF_FLOAT, GL_FLOAT, false, RequireESOrExtAndExt<3, &Extensions::textureHalfFloat, &Extensions::textureRG>, RequireESOrExtAndExt<3, &Extensions::textureHalfFloat, &Extensions::textureRG>, RequireExt<&Extensions::textureHalfFloatLinear>))); + map.insert(InternalFormatInfoPair(GL_RG16F, RGBAFormat(16, 16, 0, 0, 0, GL_RG, GL_HALF_FLOAT, GL_FLOAT, false, RequireESOrExtAndExt<3, &Extensions::textureHalfFloat, &Extensions::textureRG>, RequireESOrExtAndExt<3, &Extensions::textureHalfFloat, &Extensions::textureRG>, RequireExt<&Extensions::textureHalfFloatLinear>))); + map.insert(InternalFormatInfoPair(GL_RGB16F, RGBAFormat(16, 16, 16, 0, 0, GL_RGB, GL_HALF_FLOAT, GL_FLOAT, false, RequireESOrExt<3, &Extensions::textureHalfFloat>, RequireESOrExt<3, &Extensions::textureHalfFloat>, RequireExt<&Extensions::textureHalfFloatLinear>))); + map.insert(InternalFormatInfoPair(GL_RGBA16F, RGBAFormat(16, 16, 16, 16, 0, GL_RGBA, GL_HALF_FLOAT, GL_FLOAT, false, RequireESOrExt<3, &Extensions::textureHalfFloat>, RequireESOrExt<3, &Extensions::textureHalfFloat>, RequireExt<&Extensions::textureHalfFloatLinear>))); + map.insert(InternalFormatInfoPair(GL_R32F, RGBAFormat(32, 0, 0, 0, 0, GL_RED, GL_FLOAT, GL_FLOAT, false, RequireESOrExtAndExt<3, &Extensions::textureFloat, &Extensions::textureRG>, RequireESOrExtAndExt<3, &Extensions::textureFloat, &Extensions::textureRG>, RequireExt<&Extensions::textureFloatLinear> ))); + map.insert(InternalFormatInfoPair(GL_RG32F, RGBAFormat(32, 32, 0, 0, 0, GL_RG, GL_FLOAT, GL_FLOAT, false, RequireESOrExtAndExt<3, &Extensions::textureFloat, &Extensions::textureRG>, RequireESOrExtAndExt<3, &Extensions::textureFloat, &Extensions::textureRG>, RequireExt<&Extensions::textureFloatLinear> ))); + map.insert(InternalFormatInfoPair(GL_RGB32F, RGBAFormat(32, 32, 32, 0, 0, GL_RGB, GL_FLOAT, GL_FLOAT, false, RequireESOrExt<3, &Extensions::textureFloat>, RequireESOrExt<3, &Extensions::textureFloat>, RequireExt<&Extensions::textureFloatLinear> ))); + map.insert(InternalFormatInfoPair(GL_RGBA32F, RGBAFormat(32, 32, 32, 32, 0, GL_RGBA, GL_FLOAT, GL_FLOAT, false, RequireESOrExt<3, &Extensions::textureFloat>, RequireESOrExt<3, &Extensions::textureFloat>, RequireExt<&Extensions::textureFloatLinear> ))); // Depth stencil formats - // | Internal format | | D |S | X | Format | Type | Component type | Supported | - map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT16, DepthStencilFormat(16, 0, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_UNSIGNED_NORMALIZED, RequireESVersion<2>, AlwaysSupported, RequireESVersionOrExtension<3, &Extensions::depthTextures>))); - map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT24, DepthStencilFormat(24, 0, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_UNSIGNED_NORMALIZED, RequireESVersion<3>, AlwaysSupported, RequireESVersionOrExtension<3, &Extensions::depthTextures>))); - map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT32F, DepthStencilFormat(32, 0, 0, GL_DEPTH_COMPONENT, GL_FLOAT, GL_FLOAT, RequireESVersion<3>, AlwaysSupported, RequireESVersionOrExtension<3, &Extensions::depthTextures>))); - map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT32_OES, DepthStencilFormat(32, 0, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_UNSIGNED_NORMALIZED, RequireExtension<&Extensions::depthTextures>, AlwaysSupported, AlwaysSupported ))); - map.insert(InternalFormatInfoPair(GL_DEPTH24_STENCIL8, DepthStencilFormat(24, 8, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_NORMALIZED, RequireESVersionOrExtension<2, &Extensions::depthTextures>, AlwaysSupported, AlwaysSupported ))); - map.insert(InternalFormatInfoPair(GL_DEPTH32F_STENCIL8, DepthStencilFormat(32, 8, 24, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, GL_FLOAT, RequireESVersion<3>, AlwaysSupported, AlwaysSupported ))); - map.insert(InternalFormatInfoPair(GL_STENCIL_INDEX8, DepthStencilFormat( 0, 8, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, RequireESVersion<2>, AlwaysSupported, NeverSupported ))); + // | Internal format | | D |S | X | Format | Type | Component type | Supported | Renderable | Filterable | + map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT16, DepthStencilFormat(16, 0, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, GL_UNSIGNED_NORMALIZED, RequireES<2>, RequireES<2>, RequireESOrExt<3, &Extensions::depthTextures>))); + map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT24, DepthStencilFormat(24, 0, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_UNSIGNED_NORMALIZED, RequireES<3>, RequireES<3>, RequireESOrExt<3, &Extensions::depthTextures>))); + map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT32F, DepthStencilFormat(32, 0, 0, GL_DEPTH_COMPONENT, GL_FLOAT, GL_FLOAT, RequireES<3>, RequireES<3>, RequireESOrExt<3, &Extensions::depthTextures>))); + map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT32_OES, DepthStencilFormat(32, 0, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, GL_UNSIGNED_NORMALIZED, RequireExt<&Extensions::depthTextures>, RequireExt<&Extensions::depthTextures>, AlwaysSupported ))); + map.insert(InternalFormatInfoPair(GL_DEPTH24_STENCIL8, DepthStencilFormat(24, 8, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_NORMALIZED, RequireESOrExt<3, &Extensions::depthTextures>, RequireESOrExtOrExt<3, &Extensions::depthTextures, &Extensions::packedDepthStencil>, AlwaysSupported ))); + map.insert(InternalFormatInfoPair(GL_DEPTH32F_STENCIL8, DepthStencilFormat(32, 8, 24, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, GL_FLOAT, RequireES<3>, RequireES<3>, AlwaysSupported ))); + map.insert(InternalFormatInfoPair(GL_STENCIL_INDEX8, DepthStencilFormat( 0, 8, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT, RequireES<2>, RequireES<2>, NeverSupported ))); // Luminance alpha formats // | Internal format | | L | A | Format | Type | Component type | Supported | Renderable | Filterable | - map.insert(InternalFormatInfoPair(GL_ALPHA8_EXT, LUMAFormat( 0, 8, GL_ALPHA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, RequireExtension<&Extensions::textureStorage>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE8_EXT, LUMAFormat( 8, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, RequireExtension<&Extensions::textureStorage>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_ALPHA32F_EXT, LUMAFormat( 0, 32, GL_ALPHA, GL_FLOAT, GL_FLOAT, RequireExtensions<&Extensions::textureStorage, &Extensions::textureFloat>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE32F_EXT, LUMAFormat(32, 0, GL_LUMINANCE, GL_FLOAT, GL_FLOAT, RequireExtensions<&Extensions::textureStorage, &Extensions::textureFloat>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_ALPHA16F_EXT, LUMAFormat( 0, 16, GL_ALPHA, GL_HALF_FLOAT, GL_FLOAT, RequireExtensions<&Extensions::textureStorage, &Extensions::textureHalfFloat>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE16F_EXT, LUMAFormat(16, 0, GL_LUMINANCE, GL_HALF_FLOAT, GL_FLOAT, RequireExtensions<&Extensions::textureStorage, &Extensions::textureHalfFloat>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE8_ALPHA8_EXT, LUMAFormat( 8, 8, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, RequireExtension<&Extensions::textureStorage>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE_ALPHA32F_EXT, LUMAFormat(32, 32, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_FLOAT, RequireExtensions<&Extensions::textureStorage, &Extensions::textureFloat>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE_ALPHA16F_EXT, LUMAFormat(16, 16, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT, GL_FLOAT, RequireExtensions<&Extensions::textureStorage, &Extensions::textureHalfFloat>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_ALPHA8_EXT, LUMAFormat( 0, 8, GL_ALPHA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, RequireExt<&Extensions::textureStorage>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE8_EXT, LUMAFormat( 8, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, RequireExt<&Extensions::textureStorage>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_ALPHA32F_EXT, LUMAFormat( 0, 32, GL_ALPHA, GL_FLOAT, GL_FLOAT, RequireExtAndExt<&Extensions::textureStorage, &Extensions::textureFloat>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE32F_EXT, LUMAFormat(32, 0, GL_LUMINANCE, GL_FLOAT, GL_FLOAT, RequireExtAndExt<&Extensions::textureStorage, &Extensions::textureFloat>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_ALPHA16F_EXT, LUMAFormat( 0, 16, GL_ALPHA, GL_HALF_FLOAT, GL_FLOAT, RequireExtAndExt<&Extensions::textureStorage, &Extensions::textureHalfFloat>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE16F_EXT, LUMAFormat(16, 0, GL_LUMINANCE, GL_HALF_FLOAT, GL_FLOAT, RequireExtAndExt<&Extensions::textureStorage, &Extensions::textureHalfFloat>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE8_ALPHA8_EXT, LUMAFormat( 8, 8, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, RequireExt<&Extensions::textureStorage>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE_ALPHA32F_EXT, LUMAFormat(32, 32, GL_LUMINANCE_ALPHA, GL_FLOAT, GL_FLOAT, RequireExtAndExt<&Extensions::textureStorage, &Extensions::textureFloat>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE_ALPHA16F_EXT, LUMAFormat(16, 16, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT, GL_FLOAT, RequireExtAndExt<&Extensions::textureStorage, &Extensions::textureHalfFloat>, NeverSupported, AlwaysSupported))); // Unsized formats - // | Internal format | | Format | Supported | Renderable | Filterable | - map.insert(InternalFormatInfoPair(GL_ALPHA, UnsizedFormat(GL_ALPHA, RequireESVersion<2>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE, UnsizedFormat(GL_LUMINANCE, RequireESVersion<2>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_LUMINANCE_ALPHA, UnsizedFormat(GL_LUMINANCE_ALPHA, RequireESVersion<2>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RED, UnsizedFormat(GL_RED, RequireESVersionOrExtension<3, &Extensions::textureRG>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RG, UnsizedFormat(GL_RG, RequireESVersionOrExtension<3, &Extensions::textureRG>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGB, UnsizedFormat(GL_RGB, RequireESVersion<2>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RGBA, UnsizedFormat(GL_RGBA, RequireESVersion<2>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_RED_INTEGER, UnsizedFormat(GL_RED_INTEGER, RequireESVersion<3>, NeverSupported, NeverSupported ))); - map.insert(InternalFormatInfoPair(GL_RG_INTEGER, UnsizedFormat(GL_RG_INTEGER, RequireESVersion<3>, NeverSupported, NeverSupported ))); - map.insert(InternalFormatInfoPair(GL_RGB_INTEGER, UnsizedFormat(GL_RGB_INTEGER, RequireESVersion<3>, NeverSupported, NeverSupported ))); - map.insert(InternalFormatInfoPair(GL_RGBA_INTEGER, UnsizedFormat(GL_RGBA_INTEGER, RequireESVersion<3>, NeverSupported, NeverSupported ))); - map.insert(InternalFormatInfoPair(GL_BGRA_EXT, UnsizedFormat(GL_BGRA_EXT, RequireExtension<&Extensions::textureFormatBGRA8888>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT, UnsizedFormat(GL_DEPTH_COMPONENT, RequireESVersion<2>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_DEPTH_STENCIL, UnsizedFormat(GL_DEPTH_STENCIL, RequireESVersionOrExtension<3, &Extensions::packedDepthStencil>, AlwaysSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_SRGB_EXT, UnsizedFormat(GL_RGB, RequireESVersionOrExtension<3, &Extensions::sRGB>, NeverSupported, AlwaysSupported))); - map.insert(InternalFormatInfoPair(GL_SRGB_ALPHA_EXT, UnsizedFormat(GL_RGBA, RequireESVersionOrExtension<3, &Extensions::sRGB>, AlwaysSupported, AlwaysSupported))); + // | Internal format | | Format | Supported | Renderable | Filterable | + map.insert(InternalFormatInfoPair(GL_ALPHA, UnsizedFormat(GL_ALPHA, RequireES<2>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE, UnsizedFormat(GL_LUMINANCE, RequireES<2>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_LUMINANCE_ALPHA, UnsizedFormat(GL_LUMINANCE_ALPHA, RequireES<2>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RED, UnsizedFormat(GL_RED, RequireESOrExt<3, &Extensions::textureRG>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RG, UnsizedFormat(GL_RG, RequireESOrExt<3, &Extensions::textureRG>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGB, UnsizedFormat(GL_RGB, RequireES<2>, RequireES<2>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RGBA, UnsizedFormat(GL_RGBA, RequireES<2>, RequireES<2>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_RED_INTEGER, UnsizedFormat(GL_RED_INTEGER, RequireES<3>, NeverSupported, NeverSupported ))); + map.insert(InternalFormatInfoPair(GL_RG_INTEGER, UnsizedFormat(GL_RG_INTEGER, RequireES<3>, NeverSupported, NeverSupported ))); + map.insert(InternalFormatInfoPair(GL_RGB_INTEGER, UnsizedFormat(GL_RGB_INTEGER, RequireES<3>, NeverSupported, NeverSupported ))); + map.insert(InternalFormatInfoPair(GL_RGBA_INTEGER, UnsizedFormat(GL_RGBA_INTEGER, RequireES<3>, NeverSupported, NeverSupported ))); + map.insert(InternalFormatInfoPair(GL_BGRA_EXT, UnsizedFormat(GL_BGRA_EXT, RequireExt<&Extensions::textureFormatBGRA8888>, RequireExt<&Extensions::textureFormatBGRA8888>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_DEPTH_COMPONENT, UnsizedFormat(GL_DEPTH_COMPONENT, RequireES<2>, RequireES<2>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_DEPTH_STENCIL, UnsizedFormat(GL_DEPTH_STENCIL, RequireESOrExt<3, &Extensions::packedDepthStencil>, RequireESOrExt<3, &Extensions::packedDepthStencil>, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_SRGB_EXT, UnsizedFormat(GL_RGB, RequireESOrExt<3, &Extensions::sRGB>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_SRGB_ALPHA_EXT, UnsizedFormat(GL_RGBA, RequireESOrExt<3, &Extensions::sRGB>, RequireESOrExt<3, &Extensions::sRGB>, AlwaysSupported))); // Compressed formats, From ES 3.0.1 spec, table 3.16 // | Internal format | |W |H | BS |CC| Format | Type | SRGB | Supported | Renderable | Filterable | @@ -494,15 +501,15 @@ static InternalFormatInfoMap BuildInternalFormatInfoMap() map.insert(InternalFormatInfoPair(GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, CompressedFormat(4, 4, 128, 4, GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, GL_UNSIGNED_BYTE, true, UnimplementedSupport, UnimplementedSupport, UnimplementedSupport))); // From GL_EXT_texture_compression_dxt1 - // | Internal format | |W |H | BS |CC| Format | Type | SRGB | Supported | Renderable | Filterable | - map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGB_S3TC_DXT1_EXT, CompressedFormat(4, 4, 64, 3, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, GL_UNSIGNED_BYTE, false, RequireExtension<&Extensions::textureCompressionDXT1>, NeverSupported, AlwaysSupported ))); - map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, CompressedFormat(4, 4, 64, 4, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, GL_UNSIGNED_BYTE, false, RequireExtension<&Extensions::textureCompressionDXT1>, NeverSupported, AlwaysSupported ))); + // | Internal format | |W |H | BS |CC| Format | Type | SRGB | Supported | Renderable | Filterable | + map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGB_S3TC_DXT1_EXT, CompressedFormat(4, 4, 64, 3, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, GL_UNSIGNED_BYTE, false, RequireExt<&Extensions::textureCompressionDXT1>, NeverSupported, AlwaysSupported))); + map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, CompressedFormat(4, 4, 64, 4, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, GL_UNSIGNED_BYTE, false, RequireExt<&Extensions::textureCompressionDXT1>, NeverSupported, AlwaysSupported))); // From GL_ANGLE_texture_compression_dxt3 - map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE, CompressedFormat(4, 4, 128, 4, GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE, GL_UNSIGNED_BYTE, false, RequireExtension<&Extensions::textureCompressionDXT5>, NeverSupported, AlwaysSupported ))); + map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE, CompressedFormat(4, 4, 128, 4, GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE, GL_UNSIGNED_BYTE, false, RequireExt<&Extensions::textureCompressionDXT5>, NeverSupported, AlwaysSupported))); // From GL_ANGLE_texture_compression_dxt5 - map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE, CompressedFormat(4, 4, 128, 4, GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE, GL_UNSIGNED_BYTE, false, RequireExtension<&Extensions::textureCompressionDXT5>, NeverSupported, AlwaysSupported ))); + map.insert(InternalFormatInfoPair(GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE, CompressedFormat(4, 4, 128, 4, GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE, GL_UNSIGNED_BYTE, false, RequireExt<&Extensions::textureCompressionDXT5>, NeverSupported, AlwaysSupported))); return map; } diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp index a62e163f..64503fcb 100644 --- a/src/libGLESv2/libGLESv2.cpp +++ b/src/libGLESv2/libGLESv2.cpp @@ -35,7 +35,7 @@ extern "C" // OpenGL ES 2.0 functions -void __stdcall glActiveTexture(GLenum texture) +void GL_APIENTRY glActiveTexture(GLenum texture) { EVENT("(GLenum texture = 0x%X)", texture); @@ -52,7 +52,7 @@ void __stdcall glActiveTexture(GLenum texture) } } -void __stdcall glAttachShader(GLuint program, GLuint shader) +void GL_APIENTRY glAttachShader(GLuint program, GLuint shader) { EVENT("(GLuint program = %d, GLuint shader = %d)", program, shader); @@ -98,7 +98,7 @@ void __stdcall glAttachShader(GLuint program, GLuint shader) } } -void __stdcall glBeginQueryEXT(GLenum target, GLuint id) +void GL_APIENTRY glBeginQueryEXT(GLenum target, GLuint id) { EVENT("(GLenum target = 0x%X, GLuint %d)", target, id); @@ -119,7 +119,7 @@ void __stdcall glBeginQueryEXT(GLenum target, GLuint id) } } -void __stdcall glBindAttribLocation(GLuint program, GLuint index, const GLchar* name) +void GL_APIENTRY glBindAttribLocation(GLuint program, GLuint index, const GLchar* name) { EVENT("(GLuint program = %d, GLuint index = %d, const GLchar* name = 0x%0.8p)", program, index, name); @@ -158,7 +158,7 @@ void __stdcall glBindAttribLocation(GLuint program, GLuint index, const GLchar* } } -void __stdcall glBindBuffer(GLenum target, GLuint buffer) +void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer) { EVENT("(GLenum target = 0x%X, GLuint buffer = %d)", target, buffer); @@ -205,7 +205,7 @@ void __stdcall glBindBuffer(GLenum target, GLuint buffer) } } -void __stdcall glBindFramebuffer(GLenum target, GLuint framebuffer) +void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer) { EVENT("(GLenum target = 0x%X, GLuint framebuffer = %d)", target, framebuffer); @@ -230,7 +230,7 @@ void __stdcall glBindFramebuffer(GLenum target, GLuint framebuffer) } } -void __stdcall glBindRenderbuffer(GLenum target, GLuint renderbuffer) +void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer) { EVENT("(GLenum target = 0x%X, GLuint renderbuffer = %d)", target, renderbuffer); @@ -247,7 +247,7 @@ void __stdcall glBindRenderbuffer(GLenum target, GLuint renderbuffer) } } -void __stdcall glBindTexture(GLenum target, GLuint texture) +void GL_APIENTRY glBindTexture(GLenum target, GLuint texture) { EVENT("(GLenum target = 0x%X, GLuint texture = %d)", target, texture); @@ -286,7 +286,7 @@ void __stdcall glBindTexture(GLenum target, GLuint texture) } } -void __stdcall glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +void GL_APIENTRY glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { EVENT("(GLclampf red = %f, GLclampf green = %f, GLclampf blue = %f, GLclampf alpha = %f)", red, green, blue, alpha); @@ -299,12 +299,12 @@ void __stdcall glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclamp } } -void __stdcall glBlendEquation(GLenum mode) +void GL_APIENTRY glBlendEquation(GLenum mode) { glBlendEquationSeparate(mode, mode); } -void __stdcall glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) +void GL_APIENTRY glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { EVENT("(GLenum modeRGB = 0x%X, GLenum modeAlpha = 0x%X)", modeRGB, modeAlpha); @@ -343,12 +343,12 @@ void __stdcall glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) } } -void __stdcall glBlendFunc(GLenum sfactor, GLenum dfactor) +void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor) { glBlendFuncSeparate(sfactor, dfactor, sfactor, dfactor); } -void __stdcall glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) +void GL_APIENTRY glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { EVENT("(GLenum srcRGB = 0x%X, GLenum dstRGB = 0x%X, GLenum srcAlpha = 0x%X, GLenum dstAlpha = 0x%X)", srcRGB, dstRGB, srcAlpha, dstAlpha); @@ -483,7 +483,7 @@ void __stdcall glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha } } -void __stdcall glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) +void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) { EVENT("(GLenum target = 0x%X, GLsizeiptr size = %d, const GLvoid* data = 0x%0.8p, GLenum usage = %d)", target, size, data, usage); @@ -545,7 +545,7 @@ void __stdcall glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, } } -void __stdcall glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) +void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) { EVENT("(GLenum target = 0x%X, GLintptr offset = %d, GLsizeiptr size = %d, const GLvoid* data = 0x%0.8p)", target, offset, size, data); @@ -606,7 +606,7 @@ void __stdcall glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, } } -GLenum __stdcall glCheckFramebufferStatus(GLenum target) +GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target) { EVENT("(GLenum target = 0x%X)", target); @@ -627,7 +627,7 @@ GLenum __stdcall glCheckFramebufferStatus(GLenum target) return 0; } -void __stdcall glClear(GLbitfield mask) +void GL_APIENTRY glClear(GLbitfield mask) { EVENT("(GLbitfield mask = 0x%X)", mask); @@ -657,7 +657,7 @@ void __stdcall glClear(GLbitfield mask) } } -void __stdcall glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +void GL_APIENTRY glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { EVENT("(GLclampf red = %f, GLclampf green = %f, GLclampf blue = %f, GLclampf alpha = %f)", red, green, blue, alpha); @@ -669,7 +669,7 @@ void __stdcall glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclamp } } -void __stdcall glClearDepthf(GLclampf depth) +void GL_APIENTRY glClearDepthf(GLclampf depth) { EVENT("(GLclampf depth = %f)", depth); @@ -680,7 +680,7 @@ void __stdcall glClearDepthf(GLclampf depth) } } -void __stdcall glClearStencil(GLint s) +void GL_APIENTRY glClearStencil(GLint s) { EVENT("(GLint s = %d)", s); @@ -691,7 +691,7 @@ void __stdcall glClearStencil(GLint s) } } -void __stdcall glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) +void GL_APIENTRY glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { EVENT("(GLboolean red = %d, GLboolean green = %u, GLboolean blue = %u, GLboolean alpha = %u)", red, green, blue, alpha); @@ -703,7 +703,7 @@ void __stdcall glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboo } } -void __stdcall glCompileShader(GLuint shader) +void GL_APIENTRY glCompileShader(GLuint shader) { EVENT("(GLuint shader = %d)", shader); @@ -730,7 +730,7 @@ void __stdcall glCompileShader(GLuint shader) } } -void __stdcall glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, +void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLsizei width = %d, " @@ -766,7 +766,12 @@ void __stdcall glCompressedTexImage2D(GLenum target, GLint level, GLenum interna case GL_TEXTURE_2D: { gl::Texture2D *texture = context->getTexture2D(); - texture->setCompressedImage(level, internalformat, width, height, imageSize, data); + gl::Error error = texture->setCompressedImage(level, internalformat, width, height, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -778,7 +783,12 @@ void __stdcall glCompressedTexImage2D(GLenum target, GLint level, GLenum interna case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: { gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setCompressedImage(target, level, internalformat, width, height, imageSize, data); + gl::Error error = texture->setCompressedImage(target, level, internalformat, width, height, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -789,7 +799,7 @@ void __stdcall glCompressedTexImage2D(GLenum target, GLint level, GLenum interna } } -void __stdcall glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, +void GL_APIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " @@ -826,7 +836,12 @@ void __stdcall glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffs case GL_TEXTURE_2D: { gl::Texture2D *texture = context->getTexture2D(); - texture->subImageCompressed(level, xoffset, yoffset, width, height, format, imageSize, data); + gl::Error error = texture->subImageCompressed(level, xoffset, yoffset, width, height, format, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -838,7 +853,12 @@ void __stdcall glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffs case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: { gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->subImageCompressed(target, level, xoffset, yoffset, width, height, format, imageSize, data); + gl::Error error = texture->subImageCompressed(target, level, xoffset, yoffset, width, height, format, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -849,7 +869,7 @@ void __stdcall glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffs } } -void __stdcall glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) +void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, " "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, GLint border = %d)", @@ -879,7 +899,12 @@ void __stdcall glCopyTexImage2D(GLenum target, GLint level, GLenum internalforma case GL_TEXTURE_2D: { gl::Texture2D *texture = context->getTexture2D(); - texture->copyImage(level, internalformat, x, y, width, height, framebuffer); + gl::Error error = texture->copyImage(level, internalformat, x, y, width, height, framebuffer); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -891,7 +916,12 @@ void __stdcall glCopyTexImage2D(GLenum target, GLint level, GLenum internalforma case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: { gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->copyImage(target, level, internalformat, x, y, width, height, framebuffer); + gl::Error error = texture->copyImage(target, level, internalformat, x, y, width, height, framebuffer); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -902,7 +932,7 @@ void __stdcall glCopyTexImage2D(GLenum target, GLint level, GLenum internalforma } } -void __stdcall glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) +void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", @@ -932,7 +962,12 @@ void __stdcall glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GL case GL_TEXTURE_2D: { gl::Texture2D *texture = context->getTexture2D(); - texture->copySubImage(target, level, xoffset, yoffset, 0, x, y, width, height, framebuffer); + gl::Error error = texture->copySubImage(target, level, xoffset, yoffset, 0, x, y, width, height, framebuffer); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -944,7 +979,12 @@ void __stdcall glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GL case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: { gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->copySubImage(target, level, xoffset, yoffset, 0, x, y, width, height, framebuffer); + gl::Error error = texture->copySubImage(target, level, xoffset, yoffset, 0, x, y, width, height, framebuffer); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -955,7 +995,7 @@ void __stdcall glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GL } } -GLuint __stdcall glCreateProgram(void) +GLuint GL_APIENTRY glCreateProgram(void) { EVENT("()"); @@ -968,7 +1008,7 @@ GLuint __stdcall glCreateProgram(void) return 0; } -GLuint __stdcall glCreateShader(GLenum type) +GLuint GL_APIENTRY glCreateShader(GLenum type) { EVENT("(GLenum type = 0x%X)", type); @@ -990,7 +1030,7 @@ GLuint __stdcall glCreateShader(GLenum type) return 0; } -void __stdcall glCullFace(GLenum mode) +void GL_APIENTRY glCullFace(GLenum mode) { EVENT("(GLenum mode = 0x%X)", mode); @@ -1013,7 +1053,7 @@ void __stdcall glCullFace(GLenum mode) } } -void __stdcall glDeleteBuffers(GLsizei n, const GLuint* buffers) +void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint* buffers) { EVENT("(GLsizei n = %d, const GLuint* buffers = 0x%0.8p)", n, buffers); @@ -1033,7 +1073,7 @@ void __stdcall glDeleteBuffers(GLsizei n, const GLuint* buffers) } } -void __stdcall glDeleteFencesNV(GLsizei n, const GLuint* fences) +void GL_APIENTRY glDeleteFencesNV(GLsizei n, const GLuint* fences) { EVENT("(GLsizei n = %d, const GLuint* fences = 0x%0.8p)", n, fences); @@ -1053,7 +1093,7 @@ void __stdcall glDeleteFencesNV(GLsizei n, const GLuint* fences) } } -void __stdcall glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) +void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { EVENT("(GLsizei n = %d, const GLuint* framebuffers = 0x%0.8p)", n, framebuffers); @@ -1076,7 +1116,7 @@ void __stdcall glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) } } -void __stdcall glDeleteProgram(GLuint program) +void GL_APIENTRY glDeleteProgram(GLuint program) { EVENT("(GLuint program = %d)", program); @@ -1106,7 +1146,7 @@ void __stdcall glDeleteProgram(GLuint program) } } -void __stdcall glDeleteQueriesEXT(GLsizei n, const GLuint *ids) +void GL_APIENTRY glDeleteQueriesEXT(GLsizei n, const GLuint *ids) { EVENT("(GLsizei n = %d, const GLuint *ids = 0x%0.8p)", n, ids); @@ -1126,7 +1166,7 @@ void __stdcall glDeleteQueriesEXT(GLsizei n, const GLuint *ids) } } -void __stdcall glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) +void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { EVENT("(GLsizei n = %d, const GLuint* renderbuffers = 0x%0.8p)", n, renderbuffers); @@ -1146,7 +1186,7 @@ void __stdcall glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) } } -void __stdcall glDeleteShader(GLuint shader) +void GL_APIENTRY glDeleteShader(GLuint shader) { EVENT("(GLuint shader = %d)", shader); @@ -1176,7 +1216,7 @@ void __stdcall glDeleteShader(GLuint shader) } } -void __stdcall glDeleteTextures(GLsizei n, const GLuint* textures) +void GL_APIENTRY glDeleteTextures(GLsizei n, const GLuint* textures) { EVENT("(GLsizei n = %d, const GLuint* textures = 0x%0.8p)", n, textures); @@ -1199,7 +1239,7 @@ void __stdcall glDeleteTextures(GLsizei n, const GLuint* textures) } } -void __stdcall glDepthFunc(GLenum func) +void GL_APIENTRY glDepthFunc(GLenum func) { EVENT("(GLenum func = 0x%X)", func); @@ -1226,7 +1266,7 @@ void __stdcall glDepthFunc(GLenum func) } } -void __stdcall glDepthMask(GLboolean flag) +void GL_APIENTRY glDepthMask(GLboolean flag) { EVENT("(GLboolean flag = %u)", flag); @@ -1237,7 +1277,7 @@ void __stdcall glDepthMask(GLboolean flag) } } -void __stdcall glDepthRangef(GLclampf zNear, GLclampf zFar) +void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar) { EVENT("(GLclampf zNear = %f, GLclampf zFar = %f)", zNear, zFar); @@ -1248,7 +1288,7 @@ void __stdcall glDepthRangef(GLclampf zNear, GLclampf zFar) } } -void __stdcall glDetachShader(GLuint program, GLuint shader) +void GL_APIENTRY glDetachShader(GLuint program, GLuint shader) { EVENT("(GLuint program = %d, GLuint shader = %d)", program, shader); @@ -1297,7 +1337,7 @@ void __stdcall glDetachShader(GLuint program, GLuint shader) } } -void __stdcall glDisable(GLenum cap) +void GL_APIENTRY glDisable(GLenum cap) { EVENT("(GLenum cap = 0x%X)", cap); @@ -1314,7 +1354,7 @@ void __stdcall glDisable(GLenum cap) } } -void __stdcall glDisableVertexAttribArray(GLuint index) +void GL_APIENTRY glDisableVertexAttribArray(GLuint index) { EVENT("(GLuint index = %d)", index); @@ -1331,7 +1371,7 @@ void __stdcall glDisableVertexAttribArray(GLuint index) } } -void __stdcall glDrawArrays(GLenum mode, GLint first, GLsizei count) +void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count) { EVENT("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d)", mode, first, count); @@ -1343,11 +1383,16 @@ void __stdcall glDrawArrays(GLenum mode, GLint first, GLsizei count) return; } - context->drawArrays(mode, first, count, 0); + gl::Error error = context->drawArrays(mode, first, count, 0); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount) +void GL_APIENTRY glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { EVENT("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d, GLsizei primcount = %d)", mode, first, count, primcount); @@ -1359,11 +1404,16 @@ void __stdcall glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei coun return; } - context->drawArrays(mode, first, count, primcount); + gl::Error error = context->drawArrays(mode, first, count, primcount); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) +void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) { EVENT("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const GLvoid* indices = 0x%0.8p)", mode, count, type, indices); @@ -1377,11 +1427,16 @@ void __stdcall glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLv return; } - context->drawElements(mode, count, type, indices, 0, indexRange); + gl::Error error = context->drawElements(mode, count, type, indices, 0, indexRange); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) +void GL_APIENTRY glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) { EVENT("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const GLvoid* indices = 0x%0.8p, GLsizei primcount = %d)", mode, count, type, indices, primcount); @@ -1395,11 +1450,16 @@ void __stdcall glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum t return; } - context->drawElements(mode, count, type, indices, primcount, indexRange); + gl::Error error = context->drawElements(mode, count, type, indices, primcount, indexRange); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glEnable(GLenum cap) +void GL_APIENTRY glEnable(GLenum cap) { EVENT("(GLenum cap = 0x%X)", cap); @@ -1416,7 +1476,7 @@ void __stdcall glEnable(GLenum cap) } } -void __stdcall glEnableVertexAttribArray(GLuint index) +void GL_APIENTRY glEnableVertexAttribArray(GLuint index) { EVENT("(GLuint index = %d)", index); @@ -1433,7 +1493,7 @@ void __stdcall glEnableVertexAttribArray(GLuint index) } } -void __stdcall glEndQueryEXT(GLenum target) +void GL_APIENTRY glEndQueryEXT(GLenum target) { EVENT("GLenum target = 0x%X)", target); @@ -1454,7 +1514,7 @@ void __stdcall glEndQueryEXT(GLenum target) } } -void __stdcall glFinishFenceNV(GLuint fence) +void GL_APIENTRY glFinishFenceNV(GLuint fence) { EVENT("(GLuint fence = %d)", fence); @@ -1479,29 +1539,39 @@ void __stdcall glFinishFenceNV(GLuint fence) } } -void __stdcall glFinish(void) +void GL_APIENTRY glFinish(void) { EVENT("()"); gl::Context *context = gl::getNonLostContext(); if (context) { - context->sync(true); + gl::Error error = context->sync(true); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glFlush(void) +void GL_APIENTRY glFlush(void) { EVENT("()"); gl::Context *context = gl::getNonLostContext(); if (context) { - context->sync(false); + gl::Error error = context->sync(false); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) +void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { EVENT("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum renderbuffertarget = 0x%X, " "GLuint renderbuffer = %d)", target, attachment, renderbuffertarget, renderbuffer); @@ -1549,7 +1619,7 @@ void __stdcall glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenu } } -void __stdcall glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) +void GL_APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { EVENT("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum textarget = 0x%X, " "GLuint texture = %d, GLint level = %d)", target, attachment, textarget, texture, level); @@ -1586,7 +1656,7 @@ void __stdcall glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum t } } -void __stdcall glFrontFace(GLenum mode) +void GL_APIENTRY glFrontFace(GLenum mode) { EVENT("(GLenum mode = 0x%X)", mode); @@ -1606,7 +1676,7 @@ void __stdcall glFrontFace(GLenum mode) } } -void __stdcall glGenBuffers(GLsizei n, GLuint* buffers) +void GL_APIENTRY glGenBuffers(GLsizei n, GLuint* buffers) { EVENT("(GLsizei n = %d, GLuint* buffers = 0x%0.8p)", n, buffers); @@ -1626,7 +1696,7 @@ void __stdcall glGenBuffers(GLsizei n, GLuint* buffers) } } -void __stdcall glGenerateMipmap(GLenum target) +void GL_APIENTRY glGenerateMipmap(GLenum target) { EVENT("(GLenum target = 0x%X)", target); @@ -1700,7 +1770,7 @@ void __stdcall glGenerateMipmap(GLenum target) } } -void __stdcall glGenFencesNV(GLsizei n, GLuint* fences) +void GL_APIENTRY glGenFencesNV(GLsizei n, GLuint* fences) { EVENT("(GLsizei n = %d, GLuint* fences = 0x%0.8p)", n, fences); @@ -1720,7 +1790,7 @@ void __stdcall glGenFencesNV(GLsizei n, GLuint* fences) } } -void __stdcall glGenFramebuffers(GLsizei n, GLuint* framebuffers) +void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers) { EVENT("(GLsizei n = %d, GLuint* framebuffers = 0x%0.8p)", n, framebuffers); @@ -1740,7 +1810,7 @@ void __stdcall glGenFramebuffers(GLsizei n, GLuint* framebuffers) } } -void __stdcall glGenQueriesEXT(GLsizei n, GLuint* ids) +void GL_APIENTRY glGenQueriesEXT(GLsizei n, GLuint* ids) { EVENT("(GLsizei n = %d, GLuint* ids = 0x%0.8p)", n, ids); @@ -1760,7 +1830,7 @@ void __stdcall glGenQueriesEXT(GLsizei n, GLuint* ids) } } -void __stdcall glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) +void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) { EVENT("(GLsizei n = %d, GLuint* renderbuffers = 0x%0.8p)", n, renderbuffers); @@ -1780,7 +1850,7 @@ void __stdcall glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) } } -void __stdcall glGenTextures(GLsizei n, GLuint* textures) +void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures) { EVENT("(GLsizei n = %d, GLuint* textures = 0x%0.8p)", n, textures); @@ -1800,7 +1870,7 @@ void __stdcall glGenTextures(GLsizei n, GLuint* textures) } } -void __stdcall glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) +void GL_APIENTRY glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { EVENT("(GLuint program = %d, GLuint index = %d, GLsizei bufsize = %d, GLsizei *length = 0x%0.8p, " "GLint *size = 0x%0.8p, GLenum *type = %0.8p, GLchar *name = %0.8p)", @@ -1841,7 +1911,7 @@ void __stdcall glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, } } -void __stdcall glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) +void GL_APIENTRY glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) { EVENT("(GLuint program = %d, GLuint index = %d, GLsizei bufsize = %d, " "GLsizei* length = 0x%0.8p, GLint* size = 0x%0.8p, GLenum* type = 0x%0.8p, GLchar* name = 0x%0.8p)", @@ -1883,7 +1953,7 @@ void __stdcall glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, } } -void __stdcall glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) +void GL_APIENTRY glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) { EVENT("(GLuint program = %d, GLsizei maxcount = %d, GLsizei* count = 0x%0.8p, GLuint* shaders = 0x%0.8p)", program, maxcount, count, shaders); @@ -1917,7 +1987,7 @@ void __stdcall glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* c } } -GLint __stdcall glGetAttribLocation(GLuint program, const GLchar* name) +GLint GL_APIENTRY glGetAttribLocation(GLuint program, const GLchar* name) { EVENT("(GLuint program = %d, const GLchar* name = %s)", program, name); @@ -1953,7 +2023,7 @@ GLint __stdcall glGetAttribLocation(GLuint program, const GLchar* name) return -1; } -void __stdcall glGetBooleanv(GLenum pname, GLboolean* params) +void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean* params) { EVENT("(GLenum pname = 0x%X, GLboolean* params = 0x%0.8p)", pname, params); @@ -1978,7 +2048,7 @@ void __stdcall glGetBooleanv(GLenum pname, GLboolean* params) } } -void __stdcall glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) +void GL_APIENTRY glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", target, pname, params); @@ -2031,7 +2101,7 @@ void __stdcall glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params } } -GLenum __stdcall glGetError(void) +GLenum GL_APIENTRY glGetError(void) { EVENT("()"); @@ -2045,7 +2115,7 @@ GLenum __stdcall glGetError(void) return GL_NO_ERROR; } -void __stdcall glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) +void GL_APIENTRY glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) { EVENT("(GLuint fence = %d, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", fence, pname, params); @@ -2069,19 +2139,40 @@ void __stdcall glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) switch (pname) { case GL_FENCE_STATUS_NV: + { + // GL_NV_fence spec: + // Once the status of a fence has been finished (via FinishFenceNV) or tested and the returned status is TRUE (via either TestFenceNV + // or GetFenceivNV querying the FENCE_STATUS_NV), the status remains TRUE until the next SetFenceNV of the fence. + GLboolean status = GL_TRUE; + if (fenceObject->getStatus() != GL_TRUE) + { + gl::Error error = fenceObject->testFence(&status); + if (error.isError()) + { + context->recordError(error); + return; + } + } + *params = status; + break; + } + case GL_FENCE_CONDITION_NV: - break; + { + *params = fenceObject->getCondition(); + break; + } default: - context->recordError(gl::Error(GL_INVALID_ENUM)); - return; + { + context->recordError(gl::Error(GL_INVALID_ENUM)); + return; + } } - - params[0] = fenceObject->getFencei(pname); } } -void __stdcall glGetFloatv(GLenum pname, GLfloat* params) +void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat* params) { EVENT("(GLenum pname = 0x%X, GLfloat* params = 0x%0.8p)", pname, params); @@ -2106,7 +2197,7 @@ void __stdcall glGetFloatv(GLenum pname, GLfloat* params) } } -void __stdcall glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) +void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) { EVENT("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", target, attachment, pname, params); @@ -2403,7 +2494,7 @@ void __stdcall glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attac } } -GLenum __stdcall glGetGraphicsResetStatusEXT(void) +GLenum GL_APIENTRY glGetGraphicsResetStatusEXT(void) { EVENT("()"); @@ -2417,7 +2508,7 @@ GLenum __stdcall glGetGraphicsResetStatusEXT(void) return GL_NO_ERROR; } -void __stdcall glGetIntegerv(GLenum pname, GLint* params) +void GL_APIENTRY glGetIntegerv(GLenum pname, GLint* params) { EVENT("(GLenum pname = 0x%X, GLint* params = 0x%0.8p)", pname, params); @@ -2443,7 +2534,7 @@ void __stdcall glGetIntegerv(GLenum pname, GLint* params) } } -void __stdcall glGetProgramiv(GLuint program, GLenum pname, GLint* params) +void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint* params) { EVENT("(GLuint program = %d, GLenum pname = %d, GLint* params = 0x%0.8p)", program, pname, params); @@ -2527,7 +2618,7 @@ void __stdcall glGetProgramiv(GLuint program, GLenum pname, GLint* params) } } -void __stdcall glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) +void GL_APIENTRY glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) { EVENT("(GLuint program = %d, GLsizei bufsize = %d, GLsizei* length = 0x%0.8p, GLchar* infolog = 0x%0.8p)", program, bufsize, length, infolog); @@ -2553,7 +2644,7 @@ void __stdcall glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* len } } -void __stdcall glGetQueryivEXT(GLenum target, GLenum pname, GLint *params) +void GL_APIENTRY glGetQueryivEXT(GLenum target, GLenum pname, GLint *params) { EVENT("GLenum target = 0x%X, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", target, pname, params); @@ -2579,7 +2670,7 @@ void __stdcall glGetQueryivEXT(GLenum target, GLenum pname, GLint *params) } } -void __stdcall glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params) +void GL_APIENTRY glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params) { EVENT("(GLuint id = %d, GLenum pname = 0x%X, GLuint *params = 0x%0.8p)", id, pname, params); @@ -2631,7 +2722,7 @@ void __stdcall glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params) } } -void __stdcall glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) +void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", target, pname, params); @@ -2680,7 +2771,7 @@ void __stdcall glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* } } -void __stdcall glGetShaderiv(GLuint shader, GLenum pname, GLint* params) +void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params) { EVENT("(GLuint shader = %d, GLenum pname = %d, GLint* params = 0x%0.8p)", shader, pname, params); @@ -2723,7 +2814,7 @@ void __stdcall glGetShaderiv(GLuint shader, GLenum pname, GLint* params) } } -void __stdcall glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) +void GL_APIENTRY glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) { EVENT("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = 0x%0.8p, GLchar* infolog = 0x%0.8p)", shader, bufsize, length, infolog); @@ -2749,7 +2840,7 @@ void __stdcall glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* lengt } } -void __stdcall glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) +void GL_APIENTRY glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) { EVENT("(GLenum shadertype = 0x%X, GLenum precisiontype = 0x%X, GLint* range = 0x%0.8p, GLint* precision = 0x%0.8p)", shadertype, precisiontype, range, precision); @@ -2796,7 +2887,7 @@ void __stdcall glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontyp } } -void __stdcall glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) +void GL_APIENTRY glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) { EVENT("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = 0x%0.8p, GLchar* source = 0x%0.8p)", shader, bufsize, length, source); @@ -2822,7 +2913,7 @@ void __stdcall glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length } } -void __stdcall glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) +void GL_APIENTRY glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) { EVENT("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = 0x%0.8p, GLchar* source = 0x%0.8p)", shader, bufsize, length, source); @@ -2844,11 +2935,12 @@ void __stdcall glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, return; } - shaderObject->getTranslatedSource(bufsize, length, source); + // Only returns extra info if ANGLE_GENERATE_SHADER_DEBUG_INFO is defined + shaderObject->getTranslatedSourceWithDebugInfo(bufsize, length, source); } } -const GLubyte* __stdcall glGetString(GLenum name) +const GLubyte* GL_APIENTRY glGetString(GLenum name) { EVENT("(GLenum name = 0x%X)", name); @@ -2894,7 +2986,7 @@ const GLubyte* __stdcall glGetString(GLenum name) } } -void __stdcall glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) +void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLfloat* params = 0x%0.8p)", target, pname, params); @@ -3026,7 +3118,7 @@ void __stdcall glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) } } -void __stdcall glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) +void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", target, pname, params); @@ -3073,7 +3165,7 @@ void __stdcall glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) context->recordError(gl::Error(GL_INVALID_ENUM)); return; } - *params = texture->immutableLevelCount(); + *params = static_cast<GLint>(texture->immutableLevelCount()); break; case GL_TEXTURE_USAGE_ANGLE: *params = texture->getUsage(); @@ -3158,7 +3250,7 @@ void __stdcall glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) } } -void __stdcall glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) +void GL_APIENTRY glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) { EVENT("(GLuint program = %d, GLint location = %d, GLsizei bufSize = %d, GLfloat* params = 0x%0.8p)", program, location, bufSize, params); @@ -3180,7 +3272,7 @@ void __stdcall glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSiz } } -void __stdcall glGetUniformfv(GLuint program, GLint location, GLfloat* params) +void GL_APIENTRY glGetUniformfv(GLuint program, GLint location, GLfloat* params) { EVENT("(GLuint program = %d, GLint location = %d, GLfloat* params = 0x%0.8p)", program, location, params); @@ -3201,7 +3293,7 @@ void __stdcall glGetUniformfv(GLuint program, GLint location, GLfloat* params) } } -void __stdcall glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params) +void GL_APIENTRY glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params) { EVENT("(GLuint program = %d, GLint location = %d, GLsizei bufSize = %d, GLint* params = 0x%0.8p)", program, location, bufSize, params); @@ -3223,7 +3315,7 @@ void __stdcall glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSiz } } -void __stdcall glGetUniformiv(GLuint program, GLint location, GLint* params) +void GL_APIENTRY glGetUniformiv(GLuint program, GLint location, GLint* params) { EVENT("(GLuint program = %d, GLint location = %d, GLint* params = 0x%0.8p)", program, location, params); @@ -3244,7 +3336,7 @@ void __stdcall glGetUniformiv(GLuint program, GLint location, GLint* params) } } -GLint __stdcall glGetUniformLocation(GLuint program, const GLchar* name) +GLint GL_APIENTRY glGetUniformLocation(GLuint program, const GLchar* name) { EVENT("(GLuint program = %d, const GLchar* name = 0x%0.8p)", program, name); @@ -3285,7 +3377,7 @@ GLint __stdcall glGetUniformLocation(GLuint program, const GLchar* name) return -1; } -void __stdcall glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) +void GL_APIENTRY glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) { EVENT("(GLuint index = %d, GLenum pname = 0x%X, GLfloat* params = 0x%0.8p)", index, pname, params); @@ -3319,7 +3411,7 @@ void __stdcall glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) } } -void __stdcall glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) +void GL_APIENTRY glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) { EVENT("(GLuint index = %d, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", index, pname, params); @@ -3355,7 +3447,7 @@ void __stdcall glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) } } -void __stdcall glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer) +void GL_APIENTRY glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer) { EVENT("(GLuint index = %d, GLenum pname = 0x%X, GLvoid** pointer = 0x%0.8p)", index, pname, pointer); @@ -3378,7 +3470,7 @@ void __stdcall glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** po } } -void __stdcall glHint(GLenum target, GLenum mode) +void GL_APIENTRY glHint(GLenum target, GLenum mode) { EVENT("(GLenum target = 0x%X, GLenum mode = 0x%X)", target, mode); @@ -3414,7 +3506,7 @@ void __stdcall glHint(GLenum target, GLenum mode) } } -GLboolean __stdcall glIsBuffer(GLuint buffer) +GLboolean GL_APIENTRY glIsBuffer(GLuint buffer) { EVENT("(GLuint buffer = %d)", buffer); @@ -3432,7 +3524,7 @@ GLboolean __stdcall glIsBuffer(GLuint buffer) return GL_FALSE; } -GLboolean __stdcall glIsEnabled(GLenum cap) +GLboolean GL_APIENTRY glIsEnabled(GLenum cap) { EVENT("(GLenum cap = 0x%X)", cap); @@ -3451,7 +3543,7 @@ GLboolean __stdcall glIsEnabled(GLenum cap) return false; } -GLboolean __stdcall glIsFenceNV(GLuint fence) +GLboolean GL_APIENTRY glIsFenceNV(GLuint fence) { EVENT("(GLuint fence = %d)", fence); @@ -3471,7 +3563,7 @@ GLboolean __stdcall glIsFenceNV(GLuint fence) return GL_FALSE; } -GLboolean __stdcall glIsFramebuffer(GLuint framebuffer) +GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer) { EVENT("(GLuint framebuffer = %d)", framebuffer); @@ -3489,7 +3581,7 @@ GLboolean __stdcall glIsFramebuffer(GLuint framebuffer) return GL_FALSE; } -GLboolean __stdcall glIsProgram(GLuint program) +GLboolean GL_APIENTRY glIsProgram(GLuint program) { EVENT("(GLuint program = %d)", program); @@ -3507,7 +3599,7 @@ GLboolean __stdcall glIsProgram(GLuint program) return GL_FALSE; } -GLboolean __stdcall glIsQueryEXT(GLuint id) +GLboolean GL_APIENTRY glIsQueryEXT(GLuint id) { EVENT("(GLuint id = %d)", id); @@ -3520,7 +3612,7 @@ GLboolean __stdcall glIsQueryEXT(GLuint id) return GL_FALSE; } -GLboolean __stdcall glIsRenderbuffer(GLuint renderbuffer) +GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer) { EVENT("(GLuint renderbuffer = %d)", renderbuffer); @@ -3538,7 +3630,7 @@ GLboolean __stdcall glIsRenderbuffer(GLuint renderbuffer) return GL_FALSE; } -GLboolean __stdcall glIsShader(GLuint shader) +GLboolean GL_APIENTRY glIsShader(GLuint shader) { EVENT("(GLuint shader = %d)", shader); @@ -3556,7 +3648,7 @@ GLboolean __stdcall glIsShader(GLuint shader) return GL_FALSE; } -GLboolean __stdcall glIsTexture(GLuint texture) +GLboolean GL_APIENTRY glIsTexture(GLuint texture) { EVENT("(GLuint texture = %d)", texture); @@ -3574,7 +3666,7 @@ GLboolean __stdcall glIsTexture(GLuint texture) return GL_FALSE; } -void __stdcall glLineWidth(GLfloat width) +void GL_APIENTRY glLineWidth(GLfloat width) { EVENT("(GLfloat width = %f)", width); @@ -3591,7 +3683,7 @@ void __stdcall glLineWidth(GLfloat width) } } -void __stdcall glLinkProgram(GLuint program) +void GL_APIENTRY glLinkProgram(GLuint program) { EVENT("(GLuint program = %d)", program); @@ -3614,11 +3706,16 @@ void __stdcall glLinkProgram(GLuint program) } } - context->linkProgram(program); + gl::Error error = context->linkProgram(program); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glPixelStorei(GLenum pname, GLint param) +void GL_APIENTRY glPixelStorei(GLenum pname, GLint param) { EVENT("(GLenum pname = 0x%X, GLint param = %d)", pname, param); @@ -3674,7 +3771,7 @@ void __stdcall glPixelStorei(GLenum pname, GLint param) } } -void __stdcall glPolygonOffset(GLfloat factor, GLfloat units) +void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units) { EVENT("(GLfloat factor = %f, GLfloat units = %f)", factor, units); @@ -3685,7 +3782,7 @@ void __stdcall glPolygonOffset(GLfloat factor, GLfloat units) } } -void __stdcall glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, +void GL_APIENTRY glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data) { @@ -3717,7 +3814,7 @@ void __stdcall glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, } } -void __stdcall glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, +void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) { EVENT("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, " @@ -3748,7 +3845,7 @@ void __stdcall glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, } } -void __stdcall glReleaseShaderCompiler(void) +void GL_APIENTRY glReleaseShaderCompiler(void) { EVENT("()"); @@ -3760,7 +3857,7 @@ void __stdcall glReleaseShaderCompiler(void) } } -void __stdcall glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) +void GL_APIENTRY glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLsizei samples = %d, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = %d)", target, samples, internalformat, width, height); @@ -3778,12 +3875,12 @@ void __stdcall glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samp } } -void __stdcall glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) +void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { glRenderbufferStorageMultisampleANGLE(target, 0, internalformat, width, height); } -void __stdcall glSampleCoverage(GLclampf value, GLboolean invert) +void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert) { EVENT("(GLclampf value = %f, GLboolean invert = %u)", value, invert); @@ -3795,7 +3892,7 @@ void __stdcall glSampleCoverage(GLclampf value, GLboolean invert) } } -void __stdcall glSetFenceNV(GLuint fence, GLenum condition) +void GL_APIENTRY glSetFenceNV(GLuint fence, GLenum condition) { EVENT("(GLuint fence = %d, GLenum condition = 0x%X)", fence, condition); @@ -3816,11 +3913,16 @@ void __stdcall glSetFenceNV(GLuint fence, GLenum condition) return; } - fenceObject->setFence(condition); + gl::Error error = fenceObject->setFence(condition); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glScissor(GLint x, GLint y, GLsizei width, GLsizei height) +void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", x, y, width, height); @@ -3837,7 +3939,7 @@ void __stdcall glScissor(GLint x, GLint y, GLsizei width, GLsizei height) } } -void __stdcall glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) +void GL_APIENTRY glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) { EVENT("(GLsizei n = %d, const GLuint* shaders = 0x%0.8p, GLenum binaryformat = 0x%X, " "const GLvoid* binary = 0x%0.8p, GLsizei length = %d)", @@ -3858,7 +3960,7 @@ void __stdcall glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryfor } } -void __stdcall glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length) +void GL_APIENTRY glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length) { EVENT("(GLuint shader = %d, GLsizei count = %d, const GLchar** string = 0x%0.8p, const GLint* length = 0x%0.8p)", shader, count, string, length); @@ -3892,12 +3994,12 @@ void __stdcall glShaderSource(GLuint shader, GLsizei count, const GLchar* const* } } -void __stdcall glStencilFunc(GLenum func, GLint ref, GLuint mask) +void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, GLuint mask) { glStencilFuncSeparate(GL_FRONT_AND_BACK, func, ref, mask); } -void __stdcall glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) +void GL_APIENTRY glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { EVENT("(GLenum face = 0x%X, GLenum func = 0x%X, GLint ref = %d, GLuint mask = %d)", face, func, ref, mask); @@ -3945,12 +4047,12 @@ void __stdcall glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint } } -void __stdcall glStencilMask(GLuint mask) +void GL_APIENTRY glStencilMask(GLuint mask) { glStencilMaskSeparate(GL_FRONT_AND_BACK, mask); } -void __stdcall glStencilMaskSeparate(GLenum face, GLuint mask) +void GL_APIENTRY glStencilMaskSeparate(GLenum face, GLuint mask) { EVENT("(GLenum face = 0x%X, GLuint mask = %d)", face, mask); @@ -3981,12 +4083,12 @@ void __stdcall glStencilMaskSeparate(GLenum face, GLuint mask) } } -void __stdcall glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) +void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { glStencilOpSeparate(GL_FRONT_AND_BACK, fail, zfail, zpass); } -void __stdcall glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) +void GL_APIENTRY glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) { EVENT("(GLenum face = 0x%X, GLenum fail = 0x%X, GLenum zfail = 0x%X, GLenum zpas = 0x%Xs)", face, fail, zfail, zpass); @@ -4069,7 +4171,7 @@ void __stdcall glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenu } } -GLboolean __stdcall glTestFenceNV(GLuint fence) +GLboolean GL_APIENTRY glTestFenceNV(GLuint fence) { EVENT("(GLuint fence = %d)", fence); @@ -4090,13 +4192,21 @@ GLboolean __stdcall glTestFenceNV(GLuint fence) return GL_TRUE; } - return fenceObject->testFence(); + GLboolean result; + gl::Error error = fenceObject->testFence(&result); + if (error.isError()) + { + context->recordError(error); + return GL_TRUE; + } + + return result; } return GL_TRUE; } -void __stdcall glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, +void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint internalformat = %d, GLsizei width = %d, GLsizei height = %d, " @@ -4125,51 +4235,38 @@ void __stdcall glTexImage2D(GLenum target, GLint level, GLint internalformat, GL case GL_TEXTURE_2D: { gl::Texture2D *texture = context->getTexture2D(); - texture->setImage(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->setImage(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; + case GL_TEXTURE_CUBE_MAP_POSITIVE_X: - { - gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setImagePosX(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); - } - break; case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: - { - gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setImageNegX(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); - } - break; case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: - { - gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setImagePosY(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); - } - break; case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: - { - gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setImageNegY(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); - } - break; case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: - { - gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setImagePosZ(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); - } - break; case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: { gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->setImageNegZ(level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->setImage(target, level, width, height, internalformat, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; + default: UNREACHABLE(); } } } -void __stdcall glTexParameterf(GLenum target, GLenum pname, GLfloat param) +void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint param = %f)", target, pname, param); @@ -4213,12 +4310,12 @@ void __stdcall glTexParameterf(GLenum target, GLenum pname, GLfloat param) } } -void __stdcall glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) +void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) { glTexParameterf(target, pname, (GLfloat)*params); } -void __stdcall glTexParameteri(GLenum target, GLenum pname, GLint param) +void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint param = %d)", target, pname, param); @@ -4262,12 +4359,12 @@ void __stdcall glTexParameteri(GLenum target, GLenum pname, GLint param) } } -void __stdcall glTexParameteriv(GLenum target, GLenum pname, const GLint* params) +void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname, const GLint* params) { glTexParameteri(target, pname, *params); } -void __stdcall glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) +void GL_APIENTRY glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLsizei levels = %d, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = %d)", target, levels, internalformat, width, height); @@ -4298,14 +4395,24 @@ void __stdcall glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalf case GL_TEXTURE_2D: { gl::Texture2D *texture2d = context->getTexture2D(); - texture2d->storage(levels, internalformat, width, height); + gl::Error error = texture2d->storage(levels, internalformat, width, height); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_CUBE_MAP: { gl::TextureCubeMap *textureCube = context->getTextureCubeMap(); - textureCube->storage(levels, internalformat, width); + gl::Error error = textureCube->storage(levels, internalformat, width); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -4316,7 +4423,7 @@ void __stdcall glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalf } } -void __stdcall glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, +void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " @@ -4352,7 +4459,12 @@ void __stdcall glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint case GL_TEXTURE_2D: { gl::Texture2D *texture = context->getTexture2D(); - texture->subImage(level, xoffset, yoffset, width, height, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->subImage(level, xoffset, yoffset, width, height, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -4364,7 +4476,12 @@ void __stdcall glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: { gl::TextureCubeMap *texture = context->getTextureCubeMap(); - texture->subImage(target, level, xoffset, yoffset, width, height, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->subImage(target, level, xoffset, yoffset, width, height, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -4374,12 +4491,12 @@ void __stdcall glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint } } -void __stdcall glUniform1f(GLint location, GLfloat x) +void GL_APIENTRY glUniform1f(GLint location, GLfloat x) { glUniform1fv(location, 1, &x); } -void __stdcall glUniform1fv(GLint location, GLsizei count, const GLfloat* v) +void GL_APIENTRY glUniform1fv(GLint location, GLsizei count, const GLfloat* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat* v = 0x%0.8p)", location, count, v); @@ -4396,12 +4513,12 @@ void __stdcall glUniform1fv(GLint location, GLsizei count, const GLfloat* v) } } -void __stdcall glUniform1i(GLint location, GLint x) +void GL_APIENTRY glUniform1i(GLint location, GLint x) { glUniform1iv(location, 1, &x); } -void __stdcall glUniform1iv(GLint location, GLsizei count, const GLint* v) +void GL_APIENTRY glUniform1iv(GLint location, GLsizei count, const GLint* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint* v = 0x%0.8p)", location, count, v); @@ -4418,14 +4535,14 @@ void __stdcall glUniform1iv(GLint location, GLsizei count, const GLint* v) } } -void __stdcall glUniform2f(GLint location, GLfloat x, GLfloat y) +void GL_APIENTRY glUniform2f(GLint location, GLfloat x, GLfloat y) { GLfloat xy[2] = {x, y}; glUniform2fv(location, 1, xy); } -void __stdcall glUniform2fv(GLint location, GLsizei count, const GLfloat* v) +void GL_APIENTRY glUniform2fv(GLint location, GLsizei count, const GLfloat* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat* v = 0x%0.8p)", location, count, v); @@ -4442,14 +4559,14 @@ void __stdcall glUniform2fv(GLint location, GLsizei count, const GLfloat* v) } } -void __stdcall glUniform2i(GLint location, GLint x, GLint y) +void GL_APIENTRY glUniform2i(GLint location, GLint x, GLint y) { GLint xy[2] = {x, y}; glUniform2iv(location, 1, xy); } -void __stdcall glUniform2iv(GLint location, GLsizei count, const GLint* v) +void GL_APIENTRY glUniform2iv(GLint location, GLsizei count, const GLint* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint* v = 0x%0.8p)", location, count, v); @@ -4466,14 +4583,14 @@ void __stdcall glUniform2iv(GLint location, GLsizei count, const GLint* v) } } -void __stdcall glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) +void GL_APIENTRY glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { GLfloat xyz[3] = {x, y, z}; glUniform3fv(location, 1, xyz); } -void __stdcall glUniform3fv(GLint location, GLsizei count, const GLfloat* v) +void GL_APIENTRY glUniform3fv(GLint location, GLsizei count, const GLfloat* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat* v = 0x%0.8p)", location, count, v); @@ -4490,14 +4607,14 @@ void __stdcall glUniform3fv(GLint location, GLsizei count, const GLfloat* v) } } -void __stdcall glUniform3i(GLint location, GLint x, GLint y, GLint z) +void GL_APIENTRY glUniform3i(GLint location, GLint x, GLint y, GLint z) { GLint xyz[3] = {x, y, z}; glUniform3iv(location, 1, xyz); } -void __stdcall glUniform3iv(GLint location, GLsizei count, const GLint* v) +void GL_APIENTRY glUniform3iv(GLint location, GLsizei count, const GLint* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint* v = 0x%0.8p)", location, count, v); @@ -4514,14 +4631,14 @@ void __stdcall glUniform3iv(GLint location, GLsizei count, const GLint* v) } } -void __stdcall glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +void GL_APIENTRY glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { GLfloat xyzw[4] = {x, y, z, w}; glUniform4fv(location, 1, xyzw); } -void __stdcall glUniform4fv(GLint location, GLsizei count, const GLfloat* v) +void GL_APIENTRY glUniform4fv(GLint location, GLsizei count, const GLfloat* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat* v = 0x%0.8p)", location, count, v); @@ -4538,14 +4655,14 @@ void __stdcall glUniform4fv(GLint location, GLsizei count, const GLfloat* v) } } -void __stdcall glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) +void GL_APIENTRY glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { GLint xyzw[4] = {x, y, z, w}; glUniform4iv(location, 1, xyzw); } -void __stdcall glUniform4iv(GLint location, GLsizei count, const GLint* v) +void GL_APIENTRY glUniform4iv(GLint location, GLsizei count, const GLint* v) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint* v = 0x%0.8p)", location, count, v); @@ -4562,7 +4679,7 @@ void __stdcall glUniform4iv(GLint location, GLsizei count, const GLint* v) } } -void __stdcall glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -4580,7 +4697,7 @@ void __stdcall glUniformMatrix2fv(GLint location, GLsizei count, GLboolean trans } } -void __stdcall glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -4598,7 +4715,7 @@ void __stdcall glUniformMatrix3fv(GLint location, GLsizei count, GLboolean trans } } -void __stdcall glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -4616,7 +4733,7 @@ void __stdcall glUniformMatrix4fv(GLint location, GLsizei count, GLboolean trans } } -void __stdcall glUseProgram(GLuint program) +void GL_APIENTRY glUseProgram(GLuint program) { EVENT("(GLuint program = %d)", program); @@ -4649,7 +4766,7 @@ void __stdcall glUseProgram(GLuint program) } } -void __stdcall glValidateProgram(GLuint program) +void GL_APIENTRY glValidateProgram(GLuint program) { EVENT("(GLuint program = %d)", program); @@ -4676,7 +4793,7 @@ void __stdcall glValidateProgram(GLuint program) } } -void __stdcall glVertexAttrib1f(GLuint index, GLfloat x) +void GL_APIENTRY glVertexAttrib1f(GLuint index, GLfloat x) { EVENT("(GLuint index = %d, GLfloat x = %f)", index, x); @@ -4694,7 +4811,7 @@ void __stdcall glVertexAttrib1f(GLuint index, GLfloat x) } } -void __stdcall glVertexAttrib1fv(GLuint index, const GLfloat* values) +void GL_APIENTRY glVertexAttrib1fv(GLuint index, const GLfloat* values) { EVENT("(GLuint index = %d, const GLfloat* values = 0x%0.8p)", index, values); @@ -4712,7 +4829,7 @@ void __stdcall glVertexAttrib1fv(GLuint index, const GLfloat* values) } } -void __stdcall glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) +void GL_APIENTRY glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { EVENT("(GLuint index = %d, GLfloat x = %f, GLfloat y = %f)", index, x, y); @@ -4730,7 +4847,7 @@ void __stdcall glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) } } -void __stdcall glVertexAttrib2fv(GLuint index, const GLfloat* values) +void GL_APIENTRY glVertexAttrib2fv(GLuint index, const GLfloat* values) { EVENT("(GLuint index = %d, const GLfloat* values = 0x%0.8p)", index, values); @@ -4748,7 +4865,7 @@ void __stdcall glVertexAttrib2fv(GLuint index, const GLfloat* values) } } -void __stdcall glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) +void GL_APIENTRY glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { EVENT("(GLuint index = %d, GLfloat x = %f, GLfloat y = %f, GLfloat z = %f)", index, x, y, z); @@ -4766,7 +4883,7 @@ void __stdcall glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) } } -void __stdcall glVertexAttrib3fv(GLuint index, const GLfloat* values) +void GL_APIENTRY glVertexAttrib3fv(GLuint index, const GLfloat* values) { EVENT("(GLuint index = %d, const GLfloat* values = 0x%0.8p)", index, values); @@ -4784,7 +4901,7 @@ void __stdcall glVertexAttrib3fv(GLuint index, const GLfloat* values) } } -void __stdcall glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +void GL_APIENTRY glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { EVENT("(GLuint index = %d, GLfloat x = %f, GLfloat y = %f, GLfloat z = %f, GLfloat w = %f)", index, x, y, z, w); @@ -4802,7 +4919,7 @@ void __stdcall glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, G } } -void __stdcall glVertexAttrib4fv(GLuint index, const GLfloat* values) +void GL_APIENTRY glVertexAttrib4fv(GLuint index, const GLfloat* values) { EVENT("(GLuint index = %d, const GLfloat* values = 0x%0.8p)", index, values); @@ -4819,7 +4936,7 @@ void __stdcall glVertexAttrib4fv(GLuint index, const GLfloat* values) } } -void __stdcall glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) +void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { EVENT("(GLuint index = %d, GLuint divisor = %d)", index, divisor); @@ -4836,7 +4953,7 @@ void __stdcall glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) } } -void __stdcall glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) +void GL_APIENTRY glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) { EVENT("(GLuint index = %d, GLint size = %d, GLenum type = 0x%X, " "GLboolean normalized = %u, GLsizei stride = %d, const GLvoid* ptr = 0x%0.8p)", @@ -4911,7 +5028,7 @@ void __stdcall glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLbo } } -void __stdcall glViewport(GLint x, GLint y, GLsizei width, GLsizei height) +void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", x, y, width, height); @@ -4930,7 +5047,7 @@ void __stdcall glViewport(GLint x, GLint y, GLsizei width, GLsizei height) // OpenGL ES 3.0 functions -void __stdcall glReadBuffer(GLenum mode) +void GL_APIENTRY glReadBuffer(GLenum mode) { EVENT("(GLenum mode = 0x%X)", mode); @@ -4948,7 +5065,7 @@ void __stdcall glReadBuffer(GLenum mode) } } -void __stdcall glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices) +void GL_APIENTRY glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices) { EVENT("(GLenum mode = 0x%X, GLuint start = %u, GLuint end = %u, GLsizei count = %d, GLenum type = 0x%X, " "const GLvoid* indices = 0x%0.8p)", mode, start, end, count, type, indices); @@ -4967,7 +5084,7 @@ void __stdcall glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsize } } -void __stdcall glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) +void GL_APIENTRY glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint internalformat = %d, GLsizei width = %d, " "GLsizei height = %d, GLsizei depth = %d, GLint border = %d, GLenum format = 0x%X, " @@ -4995,14 +5112,24 @@ void __stdcall glTexImage3D(GLenum target, GLint level, GLint internalformat, GL case GL_TEXTURE_3D: { gl::Texture3D *texture = context->getTexture3D(); - texture->setImage(level, width, height, depth, internalformat, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->setImage(level, width, height, depth, internalformat, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_2D_ARRAY: { gl::Texture2DArray *texture = context->getTexture2DArray(); - texture->setImage(level, width, height, depth, internalformat, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->setImage(level, width, height, depth, internalformat, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -5013,7 +5140,7 @@ void __stdcall glTexImage3D(GLenum target, GLint level, GLint internalformat, GL } } -void __stdcall glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) +void GL_APIENTRY glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " "GLint zoffset = %d, GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, " @@ -5048,14 +5175,24 @@ void __stdcall glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint case GL_TEXTURE_3D: { gl::Texture3D *texture = context->getTexture3D(); - texture->subImage(level, xoffset, yoffset, zoffset, width, height, depth, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->subImage(level, xoffset, yoffset, zoffset, width, height, depth, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_2D_ARRAY: { gl::Texture2DArray *texture = context->getTexture2DArray(); - texture->subImage(level, xoffset, yoffset, zoffset, width, height, depth, format, type, context->getState().getUnpackState(), pixels); + gl::Error error = texture->subImage(level, xoffset, yoffset, zoffset, width, height, depth, format, type, context->getState().getUnpackState(), pixels); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -5066,7 +5203,7 @@ void __stdcall glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint } } -void __stdcall glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) +void GL_APIENTRY glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " "GLint zoffset = %d, GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", @@ -5104,11 +5241,16 @@ void __stdcall glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GL return; } - texture->copySubImage(target, level, xoffset, yoffset, zoffset, x, y, width, height, framebuffer); + gl::Error error = texture->copySubImage(target, level, xoffset, yoffset, zoffset, x, y, width, height, framebuffer); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) +void GL_APIENTRY glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLsizei width = %d, " "GLsizei height = %d, GLsizei depth = %d, GLint border = %d, GLsizei imageSize = %d, " @@ -5143,14 +5285,24 @@ void __stdcall glCompressedTexImage3D(GLenum target, GLint level, GLenum interna case GL_TEXTURE_3D: { gl::Texture3D *texture = context->getTexture3D(); - texture->setCompressedImage(level, internalformat, width, height, depth, imageSize, data); + gl::Error error = texture->setCompressedImage(level, internalformat, width, height, depth, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_2D_ARRAY: { gl::Texture2DArray *texture = context->getTexture2DArray(); - texture->setCompressedImage(level, internalformat, width, height, depth, imageSize, data); + gl::Error error = texture->setCompressedImage(level, internalformat, width, height, depth, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -5161,7 +5313,7 @@ void __stdcall glCompressedTexImage3D(GLenum target, GLint level, GLenum interna } } -void __stdcall glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) +void GL_APIENTRY glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " "GLint zoffset = %d, GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, " @@ -5208,16 +5360,26 @@ void __stdcall glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffs case GL_TEXTURE_3D: { gl::Texture3D *texture = context->getTexture3D(); - texture->subImageCompressed(level, xoffset, yoffset, zoffset, width, height, depth, - format, imageSize, data); + gl::Error error = texture->subImageCompressed(level, xoffset, yoffset, zoffset, width, height, depth, + format, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_2D_ARRAY: { gl::Texture2DArray *texture = context->getTexture2DArray(); - texture->subImageCompressed(level, xoffset, yoffset, zoffset, width, height, depth, - format, imageSize, data); + gl::Error error = texture->subImageCompressed(level, xoffset, yoffset, zoffset, width, height, depth, + format, imageSize, data); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -5228,7 +5390,7 @@ void __stdcall glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffs } } -void __stdcall glGenQueries(GLsizei n, GLuint* ids) +void GL_APIENTRY glGenQueries(GLsizei n, GLuint* ids) { EVENT("(GLsizei n = %d, GLuint* ids = 0x%0.8p)", n, ids); @@ -5254,7 +5416,7 @@ void __stdcall glGenQueries(GLsizei n, GLuint* ids) } } -void __stdcall glDeleteQueries(GLsizei n, const GLuint* ids) +void GL_APIENTRY glDeleteQueries(GLsizei n, const GLuint* ids) { EVENT("(GLsizei n = %d, GLuint* ids = 0x%0.8p)", n, ids); @@ -5280,7 +5442,7 @@ void __stdcall glDeleteQueries(GLsizei n, const GLuint* ids) } } -GLboolean __stdcall glIsQuery(GLuint id) +GLboolean GL_APIENTRY glIsQuery(GLuint id) { EVENT("(GLuint id = %u)", id); @@ -5299,7 +5461,7 @@ GLboolean __stdcall glIsQuery(GLuint id) return GL_FALSE; } -void __stdcall glBeginQuery(GLenum target, GLuint id) +void GL_APIENTRY glBeginQuery(GLenum target, GLuint id) { EVENT("(GLenum target = 0x%X, GLuint id = %u)", target, id); @@ -5326,7 +5488,7 @@ void __stdcall glBeginQuery(GLenum target, GLuint id) } } -void __stdcall glEndQuery(GLenum target) +void GL_APIENTRY glEndQuery(GLenum target) { EVENT("(GLenum target = 0x%X)", target); @@ -5353,7 +5515,7 @@ void __stdcall glEndQuery(GLenum target) } } -void __stdcall glGetQueryiv(GLenum target, GLenum pname, GLint* params) +void GL_APIENTRY glGetQueryiv(GLenum target, GLenum pname, GLint* params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", target, pname, params); @@ -5385,7 +5547,7 @@ void __stdcall glGetQueryiv(GLenum target, GLenum pname, GLint* params) } } -void __stdcall glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) +void GL_APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) { EVENT("(GLuint id = %u, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", id, pname, params); @@ -5443,7 +5605,7 @@ void __stdcall glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) } } -GLboolean __stdcall glUnmapBuffer(GLenum target) +GLboolean GL_APIENTRY glUnmapBuffer(GLenum target) { EVENT("(GLenum target = 0x%X)", target); @@ -5462,7 +5624,7 @@ GLboolean __stdcall glUnmapBuffer(GLenum target) return GL_FALSE; } -void __stdcall glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params) +void GL_APIENTRY glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLvoid** params = 0x%0.8p)", target, pname, params); @@ -5479,7 +5641,7 @@ void __stdcall glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params) } } -void __stdcall glDrawBuffers(GLsizei n, const GLenum* bufs) +void GL_APIENTRY glDrawBuffers(GLsizei n, const GLenum* bufs) { gl::Context *context = gl::getNonLostContext(); if (context) @@ -5494,7 +5656,7 @@ void __stdcall glDrawBuffers(GLsizei n, const GLenum* bufs) } } -void __stdcall glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -5512,7 +5674,7 @@ void __stdcall glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean tra } } -void __stdcall glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -5530,7 +5692,7 @@ void __stdcall glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean tra } } -void __stdcall glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -5548,7 +5710,7 @@ void __stdcall glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean tra } } -void __stdcall glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -5566,7 +5728,7 @@ void __stdcall glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean tra } } -void __stdcall glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -5584,7 +5746,7 @@ void __stdcall glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean tra } } -void __stdcall glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) +void GL_APIENTRY glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { EVENT("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat* value = 0x%0.8p)", location, count, transpose, value); @@ -5602,7 +5764,7 @@ void __stdcall glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean tra } } -void __stdcall glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +void GL_APIENTRY glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { EVENT("(GLint srcX0 = %d, GLint srcY0 = %d, GLint srcX1 = %d, GLint srcY1 = %d, GLint dstX0 = %d, " "GLint dstY0 = %d, GLint dstX1 = %d, GLint dstY1 = %d, GLbitfield mask = 0x%X, GLenum filter = 0x%X)", @@ -5624,12 +5786,17 @@ void __stdcall glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint sr return; } - context->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, - mask, filter); + gl::Error error = context->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, + mask, filter); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) +void GL_APIENTRY glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLsizei samples = %d, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = %d)", target, samples, internalformat, width, height); @@ -5653,7 +5820,7 @@ void __stdcall glRenderbufferStorageMultisample(GLenum target, GLsizei samples, } } -void __stdcall glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) +void GL_APIENTRY glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { EVENT("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLuint texture = %u, GLint level = %d, GLint layer = %d)", target, attachment, texture, level, layer); @@ -5690,7 +5857,7 @@ void __stdcall glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuin } } -GLvoid* __stdcall glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) +GLvoid* GL_APIENTRY glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { EVENT("(GLenum target = 0x%X, GLintptr offset = %d, GLsizeiptr length = %d, GLbitfield access = 0x%X)", target, offset, length, access); @@ -5710,7 +5877,7 @@ GLvoid* __stdcall glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr le return NULL; } -void __stdcall glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) +void GL_APIENTRY glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { EVENT("(GLenum target = 0x%X, GLintptr offset = %d, GLsizeiptr length = %d)", target, offset, length); @@ -5727,7 +5894,7 @@ void __stdcall glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeip } } -void __stdcall glBindVertexArray(GLuint array) +void GL_APIENTRY glBindVertexArray(GLuint array) { EVENT("(GLuint array = %u)", array); @@ -5754,7 +5921,7 @@ void __stdcall glBindVertexArray(GLuint array) } } -void __stdcall glDeleteVertexArrays(GLsizei n, const GLuint* arrays) +void GL_APIENTRY glDeleteVertexArrays(GLsizei n, const GLuint* arrays) { EVENT("(GLsizei n = %d, const GLuint* arrays = 0x%0.8p)", n, arrays); @@ -5783,7 +5950,7 @@ void __stdcall glDeleteVertexArrays(GLsizei n, const GLuint* arrays) } } -void __stdcall glGenVertexArrays(GLsizei n, GLuint* arrays) +void GL_APIENTRY glGenVertexArrays(GLsizei n, GLuint* arrays) { EVENT("(GLsizei n = %d, GLuint* arrays = 0x%0.8p)", n, arrays); @@ -5809,7 +5976,7 @@ void __stdcall glGenVertexArrays(GLsizei n, GLuint* arrays) } } -GLboolean __stdcall glIsVertexArray(GLuint array) +GLboolean GL_APIENTRY glIsVertexArray(GLuint array) { EVENT("(GLuint array = %u)", array); @@ -5835,7 +6002,7 @@ GLboolean __stdcall glIsVertexArray(GLuint array) return GL_FALSE; } -void __stdcall glGetIntegeri_v(GLenum target, GLuint index, GLint* data) +void GL_APIENTRY glGetIntegeri_v(GLenum target, GLuint index, GLint* data) { EVENT("(GLenum target = 0x%X, GLuint index = %u, GLint* data = 0x%0.8p)", target, index, data); @@ -5916,7 +6083,7 @@ void __stdcall glGetIntegeri_v(GLenum target, GLuint index, GLint* data) } } -void __stdcall glBeginTransformFeedback(GLenum primitiveMode) +void GL_APIENTRY glBeginTransformFeedback(GLenum primitiveMode) { EVENT("(GLenum primitiveMode = 0x%X)", primitiveMode); @@ -5961,7 +6128,7 @@ void __stdcall glBeginTransformFeedback(GLenum primitiveMode) } } -void __stdcall glEndTransformFeedback(void) +void GL_APIENTRY glEndTransformFeedback(void) { EVENT("(void)"); @@ -5987,7 +6154,7 @@ void __stdcall glEndTransformFeedback(void) } } -void __stdcall glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) +void GL_APIENTRY glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { EVENT("(GLenum target = 0x%X, GLuint index = %u, GLuint buffer = %u, GLintptr offset = %d, GLsizeiptr size = %d)", target, index, buffer, offset, size); @@ -6065,7 +6232,7 @@ void __stdcall glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLi } } -void __stdcall glBindBufferBase(GLenum target, GLuint index, GLuint buffer) +void GL_APIENTRY glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { EVENT("(GLenum target = 0x%X, GLuint index = %u, GLuint buffer = %u)", target, index, buffer); @@ -6121,7 +6288,7 @@ void __stdcall glBindBufferBase(GLenum target, GLuint index, GLuint buffer) } } -void __stdcall glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode) +void GL_APIENTRY glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode) { EVENT("(GLuint program = %u, GLsizei count = %d, const GLchar* const* varyings = 0x%0.8p, GLenum bufferMode = 0x%X)", program, count, varyings, bufferMode); @@ -6170,7 +6337,7 @@ void __stdcall glTransformFeedbackVaryings(GLuint program, GLsizei count, const } } -void __stdcall glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) +void GL_APIENTRY glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) { EVENT("(GLuint program = %u, GLuint index = %u, GLsizei bufSize = %d, GLsizei* length = 0x%0.8p, " "GLsizei* size = 0x%0.8p, GLenum* type = 0x%0.8p, GLchar* name = 0x%0.8p)", @@ -6209,7 +6376,7 @@ void __stdcall glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsiz } } -void __stdcall glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) +void GL_APIENTRY glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) { EVENT("(GLuint index = %u, GLint size = %d, GLenum type = 0x%X, GLsizei stride = %d, const GLvoid* pointer = 0x%0.8p)", index, size, type, stride, pointer); @@ -6279,7 +6446,7 @@ void __stdcall glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLs } } -void __stdcall glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params) +void GL_APIENTRY glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params) { EVENT("(GLuint index = %u, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", index, pname, params); @@ -6321,7 +6488,7 @@ void __stdcall glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params) } } -void __stdcall glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params) +void GL_APIENTRY glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params) { EVENT("(GLuint index = %u, GLenum pname = 0x%X, GLuint* params = 0x%0.8p)", index, pname, params); @@ -6363,7 +6530,7 @@ void __stdcall glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params) } } -void __stdcall glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) +void GL_APIENTRY glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { EVENT("(GLuint index = %u, GLint x = %d, GLint y = %d, GLint z = %d, GLint w = %d)", index, x, y, z, w); @@ -6388,7 +6555,7 @@ void __stdcall glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint } } -void __stdcall glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) +void GL_APIENTRY glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { EVENT("(GLuint index = %u, GLuint x = %u, GLuint y = %u, GLuint z = %u, GLuint w = %u)", index, x, y, z, w); @@ -6413,7 +6580,7 @@ void __stdcall glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GL } } -void __stdcall glVertexAttribI4iv(GLuint index, const GLint* v) +void GL_APIENTRY glVertexAttribI4iv(GLuint index, const GLint* v) { EVENT("(GLuint index = %u, const GLint* v = 0x%0.8p)", index, v); @@ -6436,7 +6603,7 @@ void __stdcall glVertexAttribI4iv(GLuint index, const GLint* v) } } -void __stdcall glVertexAttribI4uiv(GLuint index, const GLuint* v) +void GL_APIENTRY glVertexAttribI4uiv(GLuint index, const GLuint* v) { EVENT("(GLuint index = %u, const GLuint* v = 0x%0.8p)", index, v); @@ -6459,7 +6626,7 @@ void __stdcall glVertexAttribI4uiv(GLuint index, const GLuint* v) } } -void __stdcall glGetUniformuiv(GLuint program, GLint location, GLuint* params) +void GL_APIENTRY glGetUniformuiv(GLuint program, GLint location, GLuint* params) { EVENT("(GLuint program = %u, GLint location = %d, GLuint* params = 0x%0.8p)", program, location, params); @@ -6481,7 +6648,7 @@ void __stdcall glGetUniformuiv(GLuint program, GLint location, GLuint* params) } } -GLint __stdcall glGetFragDataLocation(GLuint program, const GLchar *name) +GLint GL_APIENTRY glGetFragDataLocation(GLuint program, const GLchar *name) { EVENT("(GLuint program = %u, const GLchar *name = 0x%0.8p)", program, name); @@ -6522,30 +6689,30 @@ GLint __stdcall glGetFragDataLocation(GLuint program, const GLchar *name) return 0; } -void __stdcall glUniform1ui(GLint location, GLuint v0) +void GL_APIENTRY glUniform1ui(GLint location, GLuint v0) { glUniform1uiv(location, 1, &v0); } -void __stdcall glUniform2ui(GLint location, GLuint v0, GLuint v1) +void GL_APIENTRY glUniform2ui(GLint location, GLuint v0, GLuint v1) { const GLuint xy[] = { v0, v1 }; glUniform2uiv(location, 1, xy); } -void __stdcall glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) +void GL_APIENTRY glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { const GLuint xyz[] = { v0, v1, v2 }; glUniform3uiv(location, 1, xyz); } -void __stdcall glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) +void GL_APIENTRY glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { const GLuint xyzw[] = { v0, v1, v2, v3 }; glUniform4uiv(location, 1, xyzw); } -void __stdcall glUniform1uiv(GLint location, GLsizei count, const GLuint* value) +void GL_APIENTRY glUniform1uiv(GLint location, GLsizei count, const GLuint* value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLuint* value = 0x%0.8p)", location, count, value); @@ -6563,7 +6730,7 @@ void __stdcall glUniform1uiv(GLint location, GLsizei count, const GLuint* value) } } -void __stdcall glUniform2uiv(GLint location, GLsizei count, const GLuint* value) +void GL_APIENTRY glUniform2uiv(GLint location, GLsizei count, const GLuint* value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLuint* value = 0x%0.8p)", location, count, value); @@ -6581,7 +6748,7 @@ void __stdcall glUniform2uiv(GLint location, GLsizei count, const GLuint* value) } } -void __stdcall glUniform3uiv(GLint location, GLsizei count, const GLuint* value) +void GL_APIENTRY glUniform3uiv(GLint location, GLsizei count, const GLuint* value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLuint* value)", location, count, value); @@ -6599,7 +6766,7 @@ void __stdcall glUniform3uiv(GLint location, GLsizei count, const GLuint* value) } } -void __stdcall glUniform4uiv(GLint location, GLsizei count, const GLuint* value) +void GL_APIENTRY glUniform4uiv(GLint location, GLsizei count, const GLuint* value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLuint* value = 0x%0.8p)", location, count, value); @@ -6617,7 +6784,7 @@ void __stdcall glUniform4uiv(GLint location, GLsizei count, const GLuint* value) } } -void __stdcall glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* value) +void GL_APIENTRY glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* value) { EVENT("(GLenum buffer = 0x%X, GLint drawbuffer = %d, const GLint* value = 0x%0.8p)", buffer, drawbuffer, value); @@ -6662,7 +6829,7 @@ void __stdcall glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* val } } -void __stdcall glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* value) +void GL_APIENTRY glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* value) { EVENT("(GLenum buffer = 0x%X, GLint drawbuffer = %d, const GLuint* value = 0x%0.8p)", buffer, drawbuffer, value); @@ -6699,7 +6866,7 @@ void __stdcall glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* v } } -void __stdcall glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* value) +void GL_APIENTRY glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* value) { EVENT("(GLenum buffer = 0x%X, GLint drawbuffer = %d, const GLfloat* value = 0x%0.8p)", buffer, drawbuffer, value); @@ -6744,7 +6911,7 @@ void __stdcall glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* v } } -void __stdcall glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) +void GL_APIENTRY glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { EVENT("(GLenum buffer = 0x%X, GLint drawbuffer = %d, GLfloat depth, GLint stencil = %d)", buffer, drawbuffer, depth, stencil); @@ -6781,7 +6948,7 @@ void __stdcall glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, G } } -const GLubyte* __stdcall glGetStringi(GLenum name, GLuint index) +const GLubyte* GL_APIENTRY glGetStringi(GLenum name, GLuint index) { EVENT("(GLenum name = 0x%X, GLuint index = %u)", name, index); @@ -6812,7 +6979,7 @@ const GLubyte* __stdcall glGetStringi(GLenum name, GLuint index) return NULL; } -void __stdcall glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) +void GL_APIENTRY glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { EVENT("(GLenum readTarget = 0x%X, GLenum writeTarget = 0x%X, GLintptr readOffset = %d, GLintptr writeOffset = %d, GLsizeiptr size = %d)", readTarget, writeTarget, readOffset, writeOffset, size); @@ -6826,7 +6993,7 @@ void __stdcall glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintp return; } - if (!gl::ValidBufferTarget(context, readTarget) || !gl::ValidBufferTarget(context, readTarget)) + if (!gl::ValidBufferTarget(context, readTarget) || !gl::ValidBufferTarget(context, writeTarget)) { context->recordError(gl::Error(GL_INVALID_ENUM)); return; @@ -6856,7 +7023,7 @@ void __stdcall glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintp return; } - if (readBuffer == writeBuffer && abs(readOffset - writeOffset) < size) + if (readBuffer == writeBuffer && std::abs(readOffset - writeOffset) < size) { context->recordError(gl::Error(GL_INVALID_VALUE)); return; @@ -6875,7 +7042,7 @@ void __stdcall glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintp } } -void __stdcall glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices) +void GL_APIENTRY glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices) { EVENT("(GLuint program = %u, GLsizei uniformCount = %d, const GLchar* const* uniformNames = 0x%0.8p, GLuint* uniformIndices = 0x%0.8p)", program, uniformCount, uniformNames, uniformIndices); @@ -6929,7 +7096,7 @@ void __stdcall glGetUniformIndices(GLuint program, GLsizei uniformCount, const G } } -void __stdcall glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params) +void GL_APIENTRY glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params) { EVENT("(GLuint program = %u, GLsizei uniformCount = %d, const GLuint* uniformIndices = 0x%0.8p, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", program, uniformCount, uniformIndices, pname, params); @@ -7009,7 +7176,7 @@ void __stdcall glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const } } -GLuint __stdcall glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName) +GLuint GL_APIENTRY glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName) { EVENT("(GLuint program = %u, const GLchar* uniformBlockName = 0x%0.8p)", program, uniformBlockName); @@ -7050,7 +7217,7 @@ GLuint __stdcall glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlo return 0; } -void __stdcall glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) +void GL_APIENTRY glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) { EVENT("(GLuint program = %u, GLuint uniformBlockIndex = %u, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", program, uniformBlockIndex, pname, params); @@ -7109,7 +7276,7 @@ void __stdcall glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockInde } } -void __stdcall glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) +void GL_APIENTRY glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) { EVENT("(GLuint program = %u, GLuint uniformBlockIndex = %u, GLsizei bufSize = %d, GLsizei* length = 0x%0.8p, GLchar* uniformBlockName = 0x%0.8p)", program, uniformBlockIndex, bufSize, length, uniformBlockName); @@ -7151,7 +7318,7 @@ void __stdcall glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIn } } -void __stdcall glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) +void GL_APIENTRY glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { EVENT("(GLuint program = %u, GLuint uniformBlockIndex = %u, GLuint uniformBlockBinding = %u)", program, uniformBlockIndex, uniformBlockBinding); @@ -7200,7 +7367,7 @@ void __stdcall glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, G } } -void __stdcall glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount) +void GL_APIENTRY glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount) { EVENT("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d, GLsizei instanceCount = %d)", mode, first, count, instanceCount); @@ -7219,7 +7386,7 @@ void __stdcall glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GL } } -void __stdcall glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount) +void GL_APIENTRY glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount) { EVENT("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const GLvoid* indices = 0x%0.8p, GLsizei instanceCount = %d)", mode, count, type, indices, instanceCount); @@ -7238,7 +7405,7 @@ void __stdcall glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, } } -GLsync __stdcall glFenceSync(GLenum condition, GLbitfield flags) +GLsync GL_APIENTRY glFenceSync(GLenum condition, GLbitfield flags) { EVENT("(GLenum condition = 0x%X, GLbitfield flags = 0x%X)", condition, flags); @@ -7263,13 +7430,24 @@ GLsync __stdcall glFenceSync(GLenum condition, GLbitfield flags) return 0; } - return context->createFenceSync(condition); + GLsync fenceSync = context->createFenceSync(); + + gl::FenceSync *fenceSyncObject = context->getFenceSync(fenceSync); + gl::Error error = fenceSyncObject->set(condition); + if (error.isError()) + { + context->deleteFenceSync(fenceSync); + context->recordError(error); + return NULL; + } + + return fenceSync; } return NULL; } -GLboolean __stdcall glIsSync(GLsync sync) +GLboolean GL_APIENTRY glIsSync(GLsync sync) { EVENT("(GLsync sync = 0x%0.8p)", sync); @@ -7288,7 +7466,7 @@ GLboolean __stdcall glIsSync(GLsync sync) return GL_FALSE; } -void __stdcall glDeleteSync(GLsync sync) +void GL_APIENTRY glDeleteSync(GLsync sync) { EVENT("(GLsync sync = 0x%0.8p)", sync); @@ -7311,7 +7489,7 @@ void __stdcall glDeleteSync(GLsync sync) } } -GLenum __stdcall glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) +GLenum GL_APIENTRY glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { EVENT("(GLsync sync = 0x%0.8p, GLbitfield flags = 0x%X, GLuint64 timeout = %llu)", sync, flags, timeout); @@ -7339,13 +7517,21 @@ GLenum __stdcall glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeou return GL_WAIT_FAILED; } - return fenceSync->clientWait(flags, timeout); + GLenum result = GL_WAIT_FAILED; + gl::Error error = fenceSync->clientWait(flags, timeout, &result); + if (error.isError()) + { + context->recordError(error); + return GL_WAIT_FAILED; + } + + return result; } return GL_FALSE; } -void __stdcall glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) +void GL_APIENTRY glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { EVENT("(GLsync sync = 0x%0.8p, GLbitfield flags = 0x%X, GLuint64 timeout = %llu)", sync, flags, timeout); @@ -7379,11 +7565,15 @@ void __stdcall glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) return; } - fenceSync->serverWait(); + gl::Error error = fenceSync->serverWait(flags, timeout); + if (error.isError()) + { + context->recordError(error); + } } } -void __stdcall glGetInteger64v(GLenum pname, GLint64* params) +void GL_APIENTRY glGetInteger64v(GLenum pname, GLint64* params) { EVENT("(GLenum pname = 0x%X, GLint64* params = 0x%0.8p)", pname, params); @@ -7415,7 +7605,7 @@ void __stdcall glGetInteger64v(GLenum pname, GLint64* params) } } -void __stdcall glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) +void GL_APIENTRY glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) { EVENT("(GLsync sync = 0x%0.8p, GLenum pname = 0x%X, GLsizei bufSize = %d, GLsizei* length = 0x%0.8p, GLint* values = 0x%0.8p)", sync, pname, bufSize, length, values); @@ -7446,10 +7636,20 @@ void __stdcall glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* switch (pname) { case GL_OBJECT_TYPE: values[0] = static_cast<GLint>(GL_SYNC_FENCE); break; - case GL_SYNC_STATUS: values[0] = static_cast<GLint>(fenceSync->getStatus()); break; case GL_SYNC_CONDITION: values[0] = static_cast<GLint>(fenceSync->getCondition()); break; case GL_SYNC_FLAGS: values[0] = 0; break; + case GL_SYNC_STATUS: + { + gl::Error error = fenceSync->getStatus(values); + if (error.isError()) + { + context->recordError(error); + return; + } + break; + } + default: context->recordError(gl::Error(GL_INVALID_ENUM)); return; @@ -7457,7 +7657,7 @@ void __stdcall glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* } } -void __stdcall glGetInteger64i_v(GLenum target, GLuint index, GLint64* data) +void GL_APIENTRY glGetInteger64i_v(GLenum target, GLuint index, GLint64* data) { EVENT("(GLenum target = 0x%X, GLuint index = %u, GLint64* data = 0x%0.8p)", target, index, data); @@ -7533,7 +7733,7 @@ void __stdcall glGetInteger64i_v(GLenum target, GLuint index, GLint64* data) } } -void __stdcall glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params) +void GL_APIENTRY glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint64* params = 0x%0.8p)", target, pname, params); @@ -7593,7 +7793,7 @@ void __stdcall glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* pa } } -void __stdcall glGenSamplers(GLsizei count, GLuint* samplers) +void GL_APIENTRY glGenSamplers(GLsizei count, GLuint* samplers) { EVENT("(GLsizei count = %d, GLuint* samplers = 0x%0.8p)", count, samplers); @@ -7619,7 +7819,7 @@ void __stdcall glGenSamplers(GLsizei count, GLuint* samplers) } } -void __stdcall glDeleteSamplers(GLsizei count, const GLuint* samplers) +void GL_APIENTRY glDeleteSamplers(GLsizei count, const GLuint* samplers) { EVENT("(GLsizei count = %d, const GLuint* samplers = 0x%0.8p)", count, samplers); @@ -7645,7 +7845,7 @@ void __stdcall glDeleteSamplers(GLsizei count, const GLuint* samplers) } } -GLboolean __stdcall glIsSampler(GLuint sampler) +GLboolean GL_APIENTRY glIsSampler(GLuint sampler) { EVENT("(GLuint sampler = %u)", sampler); @@ -7664,7 +7864,7 @@ GLboolean __stdcall glIsSampler(GLuint sampler) return GL_FALSE; } -void __stdcall glBindSampler(GLuint unit, GLuint sampler) +void GL_APIENTRY glBindSampler(GLuint unit, GLuint sampler) { EVENT("(GLuint unit = %u, GLuint sampler = %u)", unit, sampler); @@ -7693,7 +7893,7 @@ void __stdcall glBindSampler(GLuint unit, GLuint sampler) } } -void __stdcall glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) +void GL_APIENTRY glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { EVENT("(GLuint sampler = %u, GLenum pname = 0x%X, GLint param = %d)", sampler, pname, param); @@ -7726,12 +7926,12 @@ void __stdcall glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) } } -void __stdcall glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* param) +void GL_APIENTRY glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* param) { glSamplerParameteri(sampler, pname, *param); } -void __stdcall glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) +void GL_APIENTRY glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { EVENT("(GLuint sampler = %u, GLenum pname = 0x%X, GLfloat param = %g)", sampler, pname, param); @@ -7764,12 +7964,12 @@ void __stdcall glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) } } -void __stdcall glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* param) +void GL_APIENTRY glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* param) { glSamplerParameterf(sampler, pname, *param); } -void __stdcall glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params) +void GL_APIENTRY glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params) { EVENT("(GLuint sampler = %u, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", sampler, pname, params); @@ -7797,7 +7997,7 @@ void __stdcall glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* para } } -void __stdcall glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params) +void GL_APIENTRY glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params) { EVENT("(GLuint sample = %ur, GLenum pname = 0x%X, GLfloat* params = 0x%0.8p)", sampler, pname, params); @@ -7825,7 +8025,7 @@ void __stdcall glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* pa } } -void __stdcall glVertexAttribDivisor(GLuint index, GLuint divisor) +void GL_APIENTRY glVertexAttribDivisor(GLuint index, GLuint divisor) { EVENT("(GLuint index = %u, GLuint divisor = %u)", index, divisor); @@ -7848,7 +8048,7 @@ void __stdcall glVertexAttribDivisor(GLuint index, GLuint divisor) } } -void __stdcall glBindTransformFeedback(GLenum target, GLuint id) +void GL_APIENTRY glBindTransformFeedback(GLenum target, GLuint id) { EVENT("(GLenum target = 0x%X, GLuint id = %u)", target, id); @@ -7891,7 +8091,7 @@ void __stdcall glBindTransformFeedback(GLenum target, GLuint id) } } -void __stdcall glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids) +void GL_APIENTRY glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids) { EVENT("(GLsizei n = %d, const GLuint* ids = 0x%0.8p)", n, ids); @@ -7911,7 +8111,7 @@ void __stdcall glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids) } } -void __stdcall glGenTransformFeedbacks(GLsizei n, GLuint* ids) +void GL_APIENTRY glGenTransformFeedbacks(GLsizei n, GLuint* ids) { EVENT("(GLsizei n = %d, GLuint* ids = 0x%0.8p)", n, ids); @@ -7931,7 +8131,7 @@ void __stdcall glGenTransformFeedbacks(GLsizei n, GLuint* ids) } } -GLboolean __stdcall glIsTransformFeedback(GLuint id) +GLboolean GL_APIENTRY glIsTransformFeedback(GLuint id) { EVENT("(GLuint id = %u)", id); @@ -7950,7 +8150,7 @@ GLboolean __stdcall glIsTransformFeedback(GLuint id) return GL_FALSE; } -void __stdcall glPauseTransformFeedback(void) +void GL_APIENTRY glPauseTransformFeedback(void) { EVENT("(void)"); @@ -7977,7 +8177,7 @@ void __stdcall glPauseTransformFeedback(void) } } -void __stdcall glResumeTransformFeedback(void) +void GL_APIENTRY glResumeTransformFeedback(void) { EVENT("(void)"); @@ -8004,7 +8204,7 @@ void __stdcall glResumeTransformFeedback(void) } } -void __stdcall glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary) +void GL_APIENTRY glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary) { EVENT("(GLuint program = %u, GLsizei bufSize = %d, GLsizei* length = 0x%0.8p, GLenum* binaryFormat = 0x%0.8p, GLvoid* binary = 0x%0.8p)", program, bufSize, length, binaryFormat, binary); @@ -8023,7 +8223,7 @@ void __stdcall glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* leng } } -void __stdcall glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length) +void GL_APIENTRY glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length) { EVENT("(GLuint program = %u, GLenum binaryFormat = 0x%X, const GLvoid* binary = 0x%0.8p, GLsizei length = %d)", program, binaryFormat, binary, length); @@ -8042,7 +8242,7 @@ void __stdcall glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid } } -void __stdcall glProgramParameteri(GLuint program, GLenum pname, GLint value) +void GL_APIENTRY glProgramParameteri(GLuint program, GLenum pname, GLint value) { EVENT("(GLuint program = %u, GLenum pname = 0x%X, GLint value = %d)", program, pname, value); @@ -8061,7 +8261,7 @@ void __stdcall glProgramParameteri(GLuint program, GLenum pname, GLint value) } } -void __stdcall glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments) +void GL_APIENTRY glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments) { EVENT("(GLenum target = 0x%X, GLsizei numAttachments = %d, const GLenum* attachments = 0x%0.8p)", target, numAttachments, attachments); @@ -8083,12 +8283,17 @@ void __stdcall glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, co gl::Framebuffer *framebuffer = context->getState().getTargetFramebuffer(target); if (framebuffer && framebuffer->completeness() == GL_FRAMEBUFFER_COMPLETE) { - framebuffer->invalidate(context->getCaps(), numAttachments, attachments); + gl::Error error = framebuffer->invalidate(context->getCaps(), numAttachments, attachments); + if (error.isError()) + { + context->recordError(error); + return; + } } } } -void __stdcall glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height) +void GL_APIENTRY glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLsizei numAttachments = %d, const GLenum* attachments = 0x%0.8p, GLint x = %d, " "GLint y = %d, GLsizei width = %d, GLsizei height = %d)", @@ -8111,12 +8316,17 @@ void __stdcall glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, gl::Framebuffer *framebuffer = context->getState().getTargetFramebuffer(target); if (framebuffer && framebuffer->completeness() == GL_FRAMEBUFFER_COMPLETE) { - framebuffer->invalidateSub(context->getCaps(), numAttachments, attachments, x, y, width, height); + gl::Error error = framebuffer->invalidateSub(numAttachments, attachments, x, y, width, height); + if (error.isError()) + { + context->recordError(error); + return; + } } } } -void __stdcall glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) +void GL_APIENTRY glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { EVENT("(GLenum target = 0x%X, GLsizei levels = %d, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = %d)", target, levels, internalformat, width, height); @@ -8140,14 +8350,24 @@ void __stdcall glTexStorage2D(GLenum target, GLsizei levels, GLenum internalform case GL_TEXTURE_2D: { gl::Texture2D *texture2d = context->getTexture2D(); - texture2d->storage(levels, internalformat, width, height); + gl::Error error = texture2d->storage(levels, internalformat, width, height); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_CUBE_MAP: { gl::TextureCubeMap *textureCube = context->getTextureCubeMap(); - textureCube->storage(levels, internalformat, width); + gl::Error error = textureCube->storage(levels, internalformat, width); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -8158,7 +8378,7 @@ void __stdcall glTexStorage2D(GLenum target, GLsizei levels, GLenum internalform } } -void __stdcall glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +void GL_APIENTRY glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { EVENT("(GLenum target = 0x%X, GLsizei levels = %d, GLenum internalformat = 0x%X, GLsizei width = %d, " "GLsizei height = %d, GLsizei depth = %d)", @@ -8183,14 +8403,24 @@ void __stdcall glTexStorage3D(GLenum target, GLsizei levels, GLenum internalform case GL_TEXTURE_3D: { gl::Texture3D *texture3d = context->getTexture3D(); - texture3d->storage(levels, internalformat, width, height, depth); + gl::Error error = texture3d->storage(levels, internalformat, width, height, depth); + if (error.isError()) + { + context->recordError(error); + return; + } } break; case GL_TEXTURE_2D_ARRAY: { gl::Texture2DArray *texture2darray = context->getTexture2DArray(); - texture2darray->storage(levels, internalformat, width, height, depth); + gl::Error error = texture2darray->storage(levels, internalformat, width, height, depth); + if (error.isError()) + { + context->recordError(error); + return; + } } break; @@ -8200,7 +8430,7 @@ void __stdcall glTexStorage3D(GLenum target, GLsizei levels, GLenum internalform } } -void __stdcall glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) +void GL_APIENTRY glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) { EVENT("(GLenum target = 0x%X, GLenum internalformat = 0x%X, GLenum pname = 0x%X, GLsizei bufSize = %d, " "GLint* params = 0x%0.8p)", @@ -8256,7 +8486,7 @@ void __stdcall glGetInternalformativ(GLenum target, GLenum internalformat, GLenu // Extension functions -void __stdcall glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, +void GL_APIENTRY glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { EVENT("(GLint srcX0 = %d, GLint srcY0 = %d, GLint srcX1 = %d, GLint srcY1 = %d, " @@ -8274,12 +8504,17 @@ void __stdcall glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLi return; } - context->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, - mask, filter); + gl::Error error = context->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, + mask, filter); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, +void GL_APIENTRY glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) { EVENT("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, " @@ -8290,7 +8525,7 @@ void __stdcall glTexImage3DOES(GLenum target, GLint level, GLenum internalformat UNIMPLEMENTED(); // FIXME } -void __stdcall glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, +void GL_APIENTRY glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) { EVENT("(GLenum program = 0x%X, bufSize = %d, length = 0x%0.8p, binaryFormat = 0x%0.8p, binary = 0x%0.8p)", @@ -8315,15 +8550,16 @@ void __stdcall glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *l return; } - if (!programBinary->save(binaryFormat, binary, bufSize, length)) + gl::Error error = programBinary->save(binaryFormat, binary, bufSize, length); + if (error.isError()) { - context->recordError(gl::Error(GL_INVALID_OPERATION)); + context->recordError(error); return; } } } -void __stdcall glProgramBinaryOES(GLuint program, GLenum binaryFormat, +void GL_APIENTRY glProgramBinaryOES(GLuint program, GLenum binaryFormat, const void *binary, GLint length) { EVENT("(GLenum program = 0x%X, binaryFormat = 0x%x, binary = 0x%0.8p, length = %d)", @@ -8346,11 +8582,16 @@ void __stdcall glProgramBinaryOES(GLuint program, GLenum binaryFormat, return; } - context->setProgramBinary(program, binaryFormat, binary, length); + gl::Error error = context->setProgramBinary(program, binaryFormat, binary, length); + if (error.isError()) + { + context->recordError(error); + return; + } } } -void __stdcall glDrawBuffersEXT(GLsizei n, const GLenum *bufs) +void GL_APIENTRY glDrawBuffersEXT(GLsizei n, const GLenum *bufs) { EVENT("(GLenum n = %d, bufs = 0x%0.8p)", n, bufs); @@ -8404,7 +8645,7 @@ void __stdcall glDrawBuffersEXT(GLsizei n, const GLenum *bufs) } } -void __stdcall glGetBufferPointervOES(GLenum target, GLenum pname, void** params) +void GL_APIENTRY glGetBufferPointervOES(GLenum target, GLenum pname, void** params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLvoid** params = 0x%0.8p)", target, pname, params); @@ -8436,7 +8677,7 @@ void __stdcall glGetBufferPointervOES(GLenum target, GLenum pname, void** params } } -void * __stdcall glMapBufferOES(GLenum target, GLenum access) +void * GL_APIENTRY glMapBufferOES(GLenum target, GLenum access) { EVENT("(GLenum target = 0x%X, GLbitfield access = 0x%X)", target, access); @@ -8482,7 +8723,7 @@ void * __stdcall glMapBufferOES(GLenum target, GLenum access) return NULL; } -GLboolean __stdcall glUnmapBufferOES(GLenum target) +GLboolean GL_APIENTRY glUnmapBufferOES(GLenum target) { EVENT("(GLenum target = 0x%X)", target); @@ -8518,7 +8759,7 @@ GLboolean __stdcall glUnmapBufferOES(GLenum target) return GL_FALSE; } -void* __stdcall glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) +void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { EVENT("(GLenum target = 0x%X, GLintptr offset = %d, GLsizeiptr length = %d, GLbitfield access = 0x%X)", target, offset, length, access); @@ -8613,7 +8854,7 @@ void* __stdcall glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr return NULL; } -void __stdcall glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length) +void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length) { EVENT("(GLenum target = 0x%X, GLintptr offset = %d, GLsizeiptr length = %d)", target, offset, length); @@ -8661,7 +8902,7 @@ void __stdcall glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsi } } -__eglMustCastToProperFunctionPointerType __stdcall glGetProcAddress(const char *procname) +__eglMustCastToProperFunctionPointerType EGLAPIENTRY glGetProcAddress(const char *procname) { struct Extension { @@ -8719,7 +8960,7 @@ __eglMustCastToProperFunctionPointerType __stdcall glGetProcAddress(const char * // Non-public functions used by EGL -bool __stdcall glBindTexImage(egl::Surface *surface) +bool EGLAPIENTRY glBindTexImage(egl::Surface *surface) { EVENT("(egl::Surface* surface = 0x%0.8p)", surface); diff --git a/src/libGLESv2/main.cpp b/src/libGLESv2/main.cpp index 4444d1ac..2135d8b1 100644 --- a/src/libGLESv2/main.cpp +++ b/src/libGLESv2/main.cpp @@ -11,15 +11,42 @@ #include "common/tls.h" -static TLSIndex currentTLS = TLS_OUT_OF_INDEXES; +static TLSIndex currentTLS = TLS_INVALID_INDEX; namespace gl { +// TODO(kbr): figure out how these are going to be managed on +// non-Windows platforms. These routines would need to be exported +// from ANGLE and called cooperatively when users create and destroy +// threads -- or the initialization of the TLS index, and allocation +// of thread-local data, will have to be done lazily. Will have to use +// destructor function with pthread_create_key on POSIX platforms to +// clean up thread-local data. + +// Call this exactly once at process startup. +bool CreateThreadLocalIndex() +{ + currentTLS = CreateTLSIndex(); + if (currentTLS == TLS_INVALID_INDEX) + { + return false; + } + return true; +} + +// Call this exactly once at process shutdown. +void DestroyThreadLocalIndex() +{ + DestroyTLSIndex(currentTLS); + currentTLS = TLS_INVALID_INDEX; +} + +// Call this upon thread startup. Current *AllocateCurrent() { - ASSERT(currentTLS != TLS_OUT_OF_INDEXES); - if (currentTLS == TLS_OUT_OF_INDEXES) + ASSERT(currentTLS != TLS_INVALID_INDEX); + if (currentTLS == TLS_INVALID_INDEX) { return NULL; } @@ -37,6 +64,7 @@ Current *AllocateCurrent() return current; } +// Call this upon thread shutdown. void DeallocateCurrent() { Current *current = reinterpret_cast<Current*>(GetTLSValue(currentTLS)); @@ -46,14 +74,14 @@ void DeallocateCurrent() } +#ifdef ANGLE_PLATFORM_WINDOWS extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) { switch (reason) { case DLL_PROCESS_ATTACH: { - currentTLS = CreateTLSIndex(); - if (currentTLS == TLS_OUT_OF_INDEXES) + if (!gl::CreateThreadLocalIndex()) { return FALSE; } @@ -72,7 +100,7 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved case DLL_PROCESS_DETACH: { gl::DeallocateCurrent(); - DestroyTLSIndex(currentTLS); + gl::DestroyThreadLocalIndex(); } break; default: @@ -81,6 +109,7 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved return TRUE; } +#endif namespace gl { @@ -168,4 +197,3 @@ void error(GLenum errorCode) } } - diff --git a/src/libGLESv2/main.h b/src/libGLESv2/main.h index 684c302b..7e87777a 100644 --- a/src/libGLESv2/main.h +++ b/src/libGLESv2/main.h @@ -63,8 +63,8 @@ gl::Context *glGetCurrentContext(); rx::Renderer *glCreateRenderer(egl::Display *display, EGLNativeDisplayType nativeDisplay, EGLint requestedDisplayType); void glDestroyRenderer(rx::Renderer *renderer); -__eglMustCastToProperFunctionPointerType __stdcall glGetProcAddress(const char *procname); -bool __stdcall glBindTexImage(egl::Surface *surface); +__eglMustCastToProperFunctionPointerType EGLAPIENTRY glGetProcAddress(const char *procname); +bool EGLAPIENTRY glBindTexImage(egl::Surface *surface); } #endif // LIBGLESV2_MAIN_H_ diff --git a/src/libGLESv2/renderer/FenceImpl.h b/src/libGLESv2/renderer/FenceImpl.h index d54e6bec..1dd46785 100644 --- a/src/libGLESv2/renderer/FenceImpl.h +++ b/src/libGLESv2/renderer/FenceImpl.h @@ -4,29 +4,47 @@ // found in the LICENSE file. // -// FenceImpl.h: Defines the rx::FenceImpl class. +// FenceImpl.h: Defines the rx::FenceNVImpl and rx::FenceSyncImpl classes. #ifndef LIBGLESV2_RENDERER_FENCEIMPL_H_ #define LIBGLESV2_RENDERER_FENCEIMPL_H_ +#include "libGLESv2/Error.h" + #include "common/angleutils.h" +#include "angle_gl.h" + namespace rx { -class FenceImpl +class FenceNVImpl +{ + public: + FenceNVImpl() { }; + virtual ~FenceNVImpl() { }; + + virtual gl::Error set() = 0; + virtual gl::Error test(bool flushCommandBuffer, GLboolean *outFinished) = 0; + virtual gl::Error finishFence(GLboolean *outFinished) = 0; + + private: + DISALLOW_COPY_AND_ASSIGN(FenceNVImpl); +}; + +class FenceSyncImpl { public: - FenceImpl() { }; - virtual ~FenceImpl() { }; + FenceSyncImpl() { }; + virtual ~FenceSyncImpl() { }; - virtual bool isSet() const = 0; - virtual void set() = 0; - virtual bool test(bool flushCommandBuffer) = 0; - virtual bool hasError() const = 0; + virtual gl::Error set() = 0; + virtual gl::Error clientWait(GLbitfield flags, GLuint64 timeout, GLenum *outResult) = 0; + virtual gl::Error serverWait(GLbitfield flags, GLuint64 timeout) = 0; + virtual gl::Error getStatus(GLint *outResult) = 0; private: - DISALLOW_COPY_AND_ASSIGN(FenceImpl); + DISALLOW_COPY_AND_ASSIGN(FenceSyncImpl); }; } diff --git a/src/libGLESv2/renderer/Image.cpp b/src/libGLESv2/renderer/Image.cpp index 370b0862..5b9b75f5 100644 --- a/src/libGLESv2/renderer/Image.cpp +++ b/src/libGLESv2/renderer/Image.cpp @@ -4,18 +4,20 @@ // found in the LICENSE file. // -// Image.h: Implements the rx::Image class, an abstract base class for the +// Image.h: Implements the rx::Image class, an abstract base class for the // renderer-specific classes which will define the interface to the underlying // surfaces or resources. #include "libGLESv2/renderer/Image.h" +#include "libGLESv2/Framebuffer.h" +#include "libGLESv2/main.h" namespace rx { Image::Image() { - mWidth = 0; + mWidth = 0; mHeight = 0; mDepth = 0; mInternalFormat = GL_NONE; @@ -25,4 +27,20 @@ Image::Image() mDirty = false; } +gl::Error Image::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &area, gl::Framebuffer *source) +{ + gl::FramebufferAttachment *colorbuffer = source->getReadColorbuffer(); + ASSERT(colorbuffer); + + RenderTarget *renderTarget = NULL; + gl::Error error = GetAttachmentRenderTarget(colorbuffer, &renderTarget); + if (error.isError()) + { + return error; + } + + ASSERT(renderTarget); + return copy(xoffset, yoffset, zoffset, area, renderTarget); +} + } diff --git a/src/libGLESv2/renderer/Image.h b/src/libGLESv2/renderer/Image.h index 3bfc6637..9092425b 100644 --- a/src/libGLESv2/renderer/Image.h +++ b/src/libGLESv2/renderer/Image.h @@ -4,7 +4,7 @@ // found in the LICENSE file. // -// Image.h: Defines the rx::Image class, an abstract base class for the +// Image.h: Defines the rx::Image class, an abstract base class for the // renderer-specific classes which will define the interface to the underlying // surfaces or resources. @@ -12,18 +12,22 @@ #define LIBGLESV2_RENDERER_IMAGE_H_ #include "common/debug.h" +#include "libGLESv2/Error.h" #include <GLES2/gl2.h> namespace gl { class Framebuffer; +struct Rectangle; +struct ImageIndex; } namespace rx { - class Renderer; +class RenderTarget; +class TextureStorage; class Image { @@ -45,12 +49,15 @@ class Image virtual bool redefine(Renderer *renderer, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool forceRelease) = 0; - virtual void loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLint unpackAlignment, GLenum type, const void *input) = 0; - virtual void loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - const void *input) = 0; + virtual gl::Error loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLint unpackAlignment, GLenum type, const void *input) = 0; + virtual gl::Error loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + const void *input) = 0; - virtual void copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) = 0; + gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, gl::Framebuffer *source); + virtual gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, RenderTarget *source) = 0; + virtual gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, + const gl::ImageIndex &sourceIndex, TextureStorage *source) = 0; protected: GLsizei mWidth; diff --git a/src/libGLESv2/renderer/ProgramImpl.h b/src/libGLESv2/renderer/ProgramImpl.h index ba0955fd..e128385f 100644 --- a/src/libGLESv2/renderer/ProgramImpl.h +++ b/src/libGLESv2/renderer/ProgramImpl.h @@ -13,11 +13,11 @@ #include "libGLESv2/BinaryStream.h" #include "libGLESv2/Constants.h" #include "libGLESv2/ProgramBinary.h" +#include "libGLESv2/renderer/Renderer.h" namespace rx { -class DynamicHLSL; class Renderer; class ProgramImpl @@ -25,31 +25,33 @@ class ProgramImpl public: virtual ~ProgramImpl() { } - // TODO: Temporary interfaces to ease migration. Remove soon! - virtual Renderer *getRenderer() = 0; - virtual DynamicHLSL *getDynamicHLSL() = 0; - virtual const std::vector<rx::PixelShaderOutputVariable> &getPixelShaderKey() = 0; + virtual bool usesPointSize() const = 0; + virtual int getShaderVersion() const = 0; + virtual GLenum getTransformFeedbackBufferMode() const = 0; + virtual std::vector<gl::LinkedVarying> &getTransformFeedbackLinkedVaryings() = 0; + virtual sh::Attribute *getShaderAttributes() = 0; virtual GLenum getBinaryFormat() = 0; - virtual bool load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream) = 0; - virtual bool save(gl::BinaryOutputStream *stream) = 0; - - virtual rx::ShaderExecutable *getPixelExecutableForOutputLayout(gl::InfoLog &infoLog, const std::vector<GLenum> &outputSignature, - const std::vector<gl::LinkedVarying> &transformFeedbackLinkedVaryings, - bool separatedOutputBuffers) = 0; - virtual rx::ShaderExecutable *getVertexExecutableForInputLayout(gl::InfoLog &infoLog, - const gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS], - const sh::Attribute shaderAttributes[], - const std::vector<gl::LinkedVarying> &transformFeedbackLinkedVaryings, - bool separatedOutputBuffers) = 0; - - virtual bool link(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, - const std::vector<std::string> &transformFeedbackVaryings, int *registers, - std::vector<gl::LinkedVarying> *linkedVaryings, std::map<int, - gl::VariableLocation> *outputVariables) = 0; + virtual gl::LinkResult load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream) = 0; + virtual gl::Error save(gl::BinaryOutputStream *stream) = 0; + + virtual gl::LinkResult compileProgramExecutables(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, + int registers) = 0; + + virtual gl::LinkResult link(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, + const std::vector<std::string> &transformFeedbackVaryings, GLenum transformFeedbackBufferMode, + int *registers, std::vector<gl::LinkedVarying> *linkedVaryings, + std::map<int, gl::VariableLocation> *outputVariables, const gl::Caps &caps) = 0; virtual void initializeUniformStorage(const std::vector<gl::LinkedUniform*> &uniforms) = 0; + virtual gl::Error applyUniforms(const std::vector<gl::LinkedUniform*> &uniforms) = 0; + virtual gl::Error applyUniformBuffers(const std::vector<gl::UniformBlock*> uniformBlocks, const std::vector<gl::Buffer*> boundBuffers, + const gl::Caps &caps) = 0; + virtual bool assignUniformBlockRegister(gl::InfoLog &infoLog, gl::UniformBlock *uniformBlock, GLenum shader, + unsigned int registerIndex, const gl::Caps &caps) = 0; + virtual unsigned int getReservedUniformVectors(GLenum shader) = 0; + virtual void reset() = 0; }; diff --git a/src/libGLESv2/renderer/Renderer.cpp b/src/libGLESv2/renderer/Renderer.cpp index a0682e96..790bdb4d 100644 --- a/src/libGLESv2/renderer/Renderer.cpp +++ b/src/libGLESv2/renderer/Renderer.cpp @@ -21,6 +21,10 @@ #include "libGLESv2/renderer/d3d/d3d11/Renderer11.h" #endif // ANGLE_ENABLE_D3D11 +#if defined (ANGLE_TEST_CONFIG) +#define ANGLE_DEFAULT_D3D11 1 +#endif + #if !defined(ANGLE_DEFAULT_D3D11) // Enables use of the Direct3D 11 API for a default display, when available #define ANGLE_DEFAULT_D3D11 0 @@ -34,6 +38,7 @@ namespace rx Renderer::Renderer(egl::Display *display) : mDisplay(display), mCapsInitialized(false), + mWorkaroundsInitialized(false), mCurrentClientVersion(2) { } @@ -75,6 +80,17 @@ const gl::Extensions &Renderer::getRendererExtensions() const return mExtensions; } +const Workarounds &Renderer::getWorkarounds() const +{ + if (!mWorkaroundsInitialized) + { + mWorkarounds = generateWorkarounds(); + mWorkaroundsInitialized = true; + } + + return mWorkarounds; +} + typedef Renderer *(*CreateRendererFunction)(egl::Display*, EGLNativeDisplayType, EGLint); template <typename RendererType> diff --git a/src/libGLESv2/renderer/Renderer.h b/src/libGLESv2/renderer/Renderer.h index f104a951..79cff6af 100644 --- a/src/libGLESv2/renderer/Renderer.h +++ b/src/libGLESv2/renderer/Renderer.h @@ -13,7 +13,9 @@ #include "libGLESv2/Uniform.h" #include "libGLESv2/angletypes.h" #include "libGLESv2/Caps.h" +#include "common/NativeWindow.h" #include "libGLESv2/Error.h" +#include "libGLESv2/renderer/Workarounds.h" #include <cstdint> @@ -48,7 +50,8 @@ class TextureStorage; class VertexBuffer; class IndexBuffer; class QueryImpl; -class FenceImpl; +class FenceNVImpl; +class FenceSyncImpl; class BufferImpl; class VertexArrayImpl; class BufferStorage; @@ -105,39 +108,38 @@ class Renderer virtual int generateConfigs(ConfigDesc **configDescList) = 0; virtual void deleteConfigs(ConfigDesc *configDescList) = 0; - virtual void sync(bool block) = 0; + virtual gl::Error sync(bool block) = 0; - virtual SwapChain *createSwapChain(HWND window, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) = 0; + virtual SwapChain *createSwapChain(rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) = 0; - virtual void generateSwizzle(gl::Texture *texture) = 0; - virtual void setSamplerState(gl::SamplerType type, int index, const gl::SamplerState &sampler) = 0; - virtual void setTexture(gl::SamplerType type, int index, gl::Texture *texture) = 0; + virtual gl::Error generateSwizzle(gl::Texture *texture) = 0; + virtual gl::Error setSamplerState(gl::SamplerType type, int index, gl::Texture *texture, const gl::SamplerState &sampler) = 0; + virtual gl::Error setTexture(gl::SamplerType type, int index, gl::Texture *texture) = 0; - virtual bool setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]) = 0; + virtual gl::Error setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]) = 0; - virtual void setRasterizerState(const gl::RasterizerState &rasterState) = 0; - virtual void setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, - unsigned int sampleMask) = 0; - virtual void setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, - int stencilBackRef, bool frontFaceCCW) = 0; + virtual gl::Error setRasterizerState(const gl::RasterizerState &rasterState) = 0; + virtual gl::Error setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, + unsigned int sampleMask) = 0; + virtual gl::Error setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, + int stencilBackRef, bool frontFaceCCW) = 0; virtual void setScissorRectangle(const gl::Rectangle &scissor, bool enabled) = 0; virtual void setViewport(const gl::Rectangle &viewport, float zNear, float zFar, GLenum drawMode, GLenum frontFace, bool ignoreViewport) = 0; - virtual bool applyRenderTarget(gl::Framebuffer *frameBuffer) = 0; - virtual void applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, - bool rasterizerDiscard, bool transformFeedbackActive) = 0; - virtual void applyUniforms(const gl::ProgramBinary &programBinary) = 0; + virtual gl::Error applyRenderTarget(gl::Framebuffer *frameBuffer) = 0; + virtual gl::Error applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, + bool rasterizerDiscard, bool transformFeedbackActive) = 0; + virtual gl::Error applyUniforms(const ProgramImpl &program, const std::vector<gl::LinkedUniform*> &uniformArray) = 0; virtual bool applyPrimitiveType(GLenum primitiveType, GLsizei elementCount) = 0; - virtual gl::Error applyVertexBuffer(gl::ProgramBinary *programBinary, const gl::VertexAttribute vertexAttributes[], const gl::VertexAttribCurrentValueData currentValues[], - GLint first, GLsizei count, GLsizei instances) = 0; + virtual gl::Error applyVertexBuffer(const gl::State &state, GLint first, GLsizei count, GLsizei instances) = 0; virtual gl::Error applyIndexBuffer(const GLvoid *indices, gl::Buffer *elementArrayBuffer, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo) = 0; - virtual void applyTransformFeedbackBuffers(gl::Buffer *transformFeedbackBuffers[], GLintptr offsets[]) = 0; + virtual void applyTransformFeedbackBuffers(const gl::State& state) = 0; - virtual void drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive) = 0; - virtual void drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, - gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances) = 0; + virtual gl::Error drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive) = 0; + virtual gl::Error drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, + gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances) = 0; virtual gl::Error clear(const gl::ClearParameters &clearParams, gl::Framebuffer *frameBuffer) = 0; @@ -170,22 +172,17 @@ class Renderer virtual int getMaxSwapInterval() const = 0; // Pixel operations - virtual bool copyToRenderTarget2D(TextureStorage *dest, TextureStorage *source) = 0; - virtual bool copyToRenderTargetCube(TextureStorage *dest, TextureStorage *source) = 0; - virtual bool copyToRenderTarget3D(TextureStorage *dest, TextureStorage *source) = 0; - virtual bool copyToRenderTarget2DArray(TextureStorage *dest, TextureStorage *source) = 0; - - virtual bool copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) = 0; - virtual bool copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) = 0; - virtual bool copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) = 0; - virtual bool copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + virtual gl::Error copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) = 0; + virtual gl::Error copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) = 0; + virtual gl::Error copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) = 0; + virtual gl::Error copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) = 0; - virtual bool blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, - const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter) = 0; + virtual gl::Error blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, + const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter) = 0; virtual gl::Error readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint outputPitch, const gl::PixelPackState &pack, uint8_t *pixels) = 0; @@ -200,12 +197,13 @@ class Renderer // Shader operations virtual void releaseShaderCompiler() = 0; - virtual ShaderExecutable *loadExecutable(const void *function, size_t length, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers) = 0; - virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers, D3DWorkaroundType workaround) = 0; + virtual gl::Error loadExecutable(const void *function, size_t length, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, ShaderExecutable **outExecutable) = 0; + virtual gl::Error compileToExecutable(gl::InfoLog &infoLog, const std::string &shaderHLSL, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, D3DWorkaroundType workaround, + ShaderExecutable **outExectuable) = 0; virtual UniformStorage *createUniformStorage(size_t storageSize) = 0; // Image operations @@ -230,7 +228,8 @@ class Renderer // Query and Fence creation virtual QueryImpl *createQuery(GLenum type) = 0; - virtual FenceImpl *createFence() = 0; + virtual FenceNVImpl *createFenceNV() = 0; + virtual FenceSyncImpl *createFenceSync() = 0; // Transform Feedback creation virtual TransformFeedbackImpl* createTransformFeedback() = 0; @@ -241,13 +240,15 @@ class Renderer // Buffer-to-texture and Texture-to-buffer copies virtual bool supportsFastCopyBufferToTexture(GLenum internalFormat) const = 0; - virtual bool fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) = 0; + virtual gl::Error fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) = 0; virtual bool getLUID(LUID *adapterLuid) const = 0; virtual rx::VertexConversionType getVertexConversionType(const gl::VertexFormat &vertexFormat) const = 0; virtual GLenum getVertexComponentType(const gl::VertexFormat &vertexFormat) const = 0; + const Workarounds &getWorkarounds() const; + protected: egl::Display *mDisplay; @@ -255,12 +256,16 @@ class Renderer DISALLOW_COPY_AND_ASSIGN(Renderer); virtual void generateCaps(gl::Caps *outCaps, gl::TextureCapsMap* outTextureCaps, gl::Extensions *outExtensions) const = 0; + virtual Workarounds generateWorkarounds() const = 0; mutable bool mCapsInitialized; mutable gl::Caps mCaps; mutable gl::TextureCapsMap mTextureCaps; mutable gl::Extensions mExtensions; + mutable bool mWorkaroundsInitialized; + mutable Workarounds mWorkarounds; + int mCurrentClientVersion; }; diff --git a/src/libGLESv2/renderer/ShaderExecutable.h b/src/libGLESv2/renderer/ShaderExecutable.h index f1719567..f1a96d74 100644 --- a/src/libGLESv2/renderer/ShaderExecutable.h +++ b/src/libGLESv2/renderer/ShaderExecutable.h @@ -40,10 +40,21 @@ class ShaderExecutable return mFunctionBuffer.size(); } + const std::string &getDebugInfo() const + { + return mDebugInfo; + } + + void appendDebugInfo(const std::string &info) + { + mDebugInfo += info; + } + private: DISALLOW_COPY_AND_ASSIGN(ShaderExecutable); std::vector<uint8_t> mFunctionBuffer; + std::string mDebugInfo; }; class UniformStorage @@ -64,4 +75,4 @@ class UniformStorage } -#endif // LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_ +#endif // LIBGLESV2_RENDERER_SHADEREXECUTABLE_H_ diff --git a/src/libGLESv2/renderer/ShaderImpl.h b/src/libGLESv2/renderer/ShaderImpl.h index de5d30e6..f2d2ebcb 100644 --- a/src/libGLESv2/renderer/ShaderImpl.h +++ b/src/libGLESv2/renderer/ShaderImpl.h @@ -26,6 +26,7 @@ class ShaderImpl virtual bool compile(const std::string &source) = 0; virtual const std::string &getInfoLog() const = 0; virtual const std::string &getTranslatedSource() const = 0; + virtual std::string getDebugInfo() const = 0; const std::vector<gl::PackedVarying> &getVaryings() const { return mVaryings; } const std::vector<sh::Uniform> &getUniforms() const { return mUniforms; } diff --git a/src/libGLESv2/renderer/SwapChain.h b/src/libGLESv2/renderer/SwapChain.h index c53b2af6..e742cc3b 100644 --- a/src/libGLESv2/renderer/SwapChain.h +++ b/src/libGLESv2/renderer/SwapChain.h @@ -11,6 +11,7 @@ #define LIBGLESV2_RENDERER_SWAPCHAIN_H_ #include "common/angleutils.h" +#include "common/NativeWindow.h" #include "common/platform.h" #include <GLES2/gl2.h> @@ -26,8 +27,8 @@ namespace rx class SwapChain { public: - SwapChain(HWND window, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) - : mWindow(window), mShareHandle(shareHandle), mBackBufferFormat(backBufferFormat), mDepthBufferFormat(depthBufferFormat) + SwapChain(rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) + : mNativeWindow(nativeWindow), mShareHandle(shareHandle), mBackBufferFormat(backBufferFormat), mDepthBufferFormat(depthBufferFormat) { } @@ -41,7 +42,7 @@ class SwapChain virtual HANDLE getShareHandle() {return mShareHandle;}; protected: - const HWND mWindow; // Window that the surface is created for. + rx::NativeWindow mNativeWindow; // Handler for the Window that the surface is created for. const GLenum mBackBufferFormat; const GLenum mDepthBufferFormat; diff --git a/src/libGLESv2/renderer/TextureImpl.h b/src/libGLESv2/renderer/TextureImpl.h index e3cc50d6..6a89d818 100644 --- a/src/libGLESv2/renderer/TextureImpl.h +++ b/src/libGLESv2/renderer/TextureImpl.h @@ -10,6 +10,7 @@ #define LIBGLESV2_RENDERER_TEXTUREIMPL_H_ #include "common/angleutils.h" +#include "libGLESv2/Error.h" #include "angle_gl.h" @@ -39,11 +40,6 @@ class TextureImpl public: virtual ~TextureImpl() {}; - // TODO: If this methods could go away that would be ideal; - // TextureStorage should only be necessary for the D3D backend, and as such - // higher level code should not rely on it. - virtual TextureStorage *getNativeTexture() = 0; - // Deprecated in favour of the ImageIndex method virtual Image *getImage(int level, int layer) const = 0; virtual Image *getImage(const gl::ImageIndex &index) const = 0; @@ -51,13 +47,13 @@ class TextureImpl virtual void setUsage(GLenum usage) = 0; - virtual void setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) = 0; - virtual void setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) = 0; - virtual void subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) = 0; - virtual void subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) = 0; - virtual void copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) = 0; - virtual void copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) = 0; - virtual void storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) = 0; + virtual gl::Error setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) = 0; + virtual gl::Error setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) = 0; + virtual gl::Error subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) = 0; + virtual gl::Error subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) = 0; + virtual gl::Error copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) = 0; + virtual gl::Error copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) = 0; + virtual gl::Error storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) = 0; virtual void generateMipmaps() = 0; diff --git a/src/libGLESv2/renderer/Workarounds.h b/src/libGLESv2/renderer/Workarounds.h new file mode 100644 index 00000000..20a166fb --- /dev/null +++ b/src/libGLESv2/renderer/Workarounds.h @@ -0,0 +1,39 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +// angletypes.h: Workarounds for driver bugs and other issues. + +#ifndef LIBGLESV2_RENDERER_WORKAROUNDS_H_ +#define LIBGLESV2_RENDERER_WORKAROUNDS_H_ + +// TODO(jmadill,zmo,geofflang): make a workarounds library that can operate +// independent of ANGLE's renderer. Workarounds should also be accessible +// outside of the Renderer. + +namespace rx +{ + +enum D3DWorkaroundType +{ + ANGLE_D3D_WORKAROUND_NONE, + ANGLE_D3D_WORKAROUND_SKIP_OPTIMIZATION, + ANGLE_D3D_WORKAROUND_MAX_OPTIMIZATION +}; + +struct Workarounds +{ + Workarounds() + : mrtPerfWorkaround(false), + setDataFasterThanImageUpload(false) + {} + + bool mrtPerfWorkaround; + bool setDataFasterThanImageUpload; +}; + +} + +#endif // LIBGLESV2_RENDERER_WORKAROUNDS_H_ diff --git a/src/libGLESv2/renderer/copyimage.cpp b/src/libGLESv2/renderer/copyimage.cpp index 004223d7..aabc9f04 100644 --- a/src/libGLESv2/renderer/copyimage.cpp +++ b/src/libGLESv2/renderer/copyimage.cpp @@ -6,7 +6,7 @@ // copyimage.cpp: Defines image copying functions -#include "libGLESv2/renderer/copyImage.h" +#include "libGLESv2/renderer/copyimage.h" namespace rx { diff --git a/src/libGLESv2/renderer/copyimage.inl b/src/libGLESv2/renderer/copyimage.inl index ea6970ce..0498cf77 100644 --- a/src/libGLESv2/renderer/copyimage.inl +++ b/src/libGLESv2/renderer/copyimage.inl @@ -24,7 +24,7 @@ inline void WriteColor(const uint8_t *source, uint8_t *dest) template <typename sourceType, typename destType, typename colorDataType> inline void CopyPixel(const uint8_t *source, uint8_t *dest) { - colorType temp; + colorDataType temp; ReadColor<sourceType, colorDataType>(source, &temp); WriteColor<destType, colorDataType>(&temp, dest); } diff --git a/src/libGLESv2/renderer/d3d/DynamicHLSL.h b/src/libGLESv2/renderer/d3d/DynamicHLSL.h index f68ed984..305a3c22 100644 --- a/src/libGLESv2/renderer/d3d/DynamicHLSL.h +++ b/src/libGLESv2/renderer/d3d/DynamicHLSL.h @@ -10,7 +10,7 @@ #define LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_ #include "common/angleutils.h" -#include "libGLESv2/constants.h" +#include "libGLESv2/Constants.h" #include "angle_gl.h" diff --git a/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp b/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp index df2e46c6..d74d0033 100644 --- a/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp +++ b/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp @@ -15,9 +15,22 @@ namespace rx { +CompileConfig::CompileConfig() + : flags(0), + name() +{ +} + +CompileConfig::CompileConfig(UINT flags, const std::string &name) + : flags(flags), + name(name) +{ +} + HLSLCompiler::HLSLCompiler() : mD3DCompilerModule(NULL), - mD3DCompileFunc(NULL) + mD3DCompileFunc(NULL), + mD3DDisassembleFunc(NULL) { } @@ -29,6 +42,7 @@ HLSLCompiler::~HLSLCompiler() bool HLSLCompiler::initialize() { TRACE_EVENT0("gpu", "initializeCompiler"); +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) #if defined(ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES) // Find a D3DCompiler module that had already been loaded based on a predefined list of versions. static const char *d3dCompilerNames[] = ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES; @@ -54,8 +68,17 @@ bool HLSLCompiler::initialize() return false; } - mD3DCompileFunc = reinterpret_cast<CompileFuncPtr>(GetProcAddress(mD3DCompilerModule, "D3DCompile")); + mD3DCompileFunc = reinterpret_cast<pD3DCompile>(GetProcAddress(mD3DCompilerModule, "D3DCompile")); ASSERT(mD3DCompileFunc); +#else + // D3D Shader compiler is linked already into this module, so the export + // can be directly assigned. + mD3DCompilerModule = NULL; + mD3DCompileFunc = reinterpret_cast<pD3DCompile>(D3DCompile); +#endif + + mD3DDisassembleFunc = reinterpret_cast<pD3DDisassemble>(GetProcAddress(mD3DCompilerModule, "D3DDisassemble")); + ASSERT(mD3DDisassembleFunc); return mD3DCompileFunc != NULL; } @@ -67,59 +90,109 @@ void HLSLCompiler::release() FreeLibrary(mD3DCompilerModule); mD3DCompilerModule = NULL; mD3DCompileFunc = NULL; + mD3DDisassembleFunc = NULL; } } -ShaderBlob *HLSLCompiler::compileToBinary(gl::InfoLog &infoLog, const char *hlsl, const char *profile, - const UINT optimizationFlags[], const char *flagNames[], int attempts) const +gl::Error HLSLCompiler::compileToBinary(gl::InfoLog &infoLog, const std::string &hlsl, const std::string &profile, + const std::vector<CompileConfig> &configs, const D3D_SHADER_MACRO *overrideMacros, + ID3DBlob **outCompiledBlob, std::string *outDebugInfo) const { - ASSERT(mD3DCompilerModule && mD3DCompileFunc); +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) + ASSERT(mD3DCompilerModule); +#endif + ASSERT(mD3DCompileFunc); - if (!hlsl) + if (gl::perfActive()) { - return NULL; + std::string sourcePath = getTempPath(); + std::string sourceText = FormatString("#line 2 \"%s\"\n\n%s", sourcePath.c_str(), hlsl.c_str()); + writeFile(sourcePath.c_str(), sourceText.c_str(), sourceText.size()); } - pD3DCompile compileFunc = reinterpret_cast<pD3DCompile>(mD3DCompileFunc); - for (int i = 0; i < attempts; ++i) + const D3D_SHADER_MACRO *macros = overrideMacros ? overrideMacros : NULL; + + for (size_t i = 0; i < configs.size(); ++i) { ID3DBlob *errorMessage = NULL; ID3DBlob *binary = NULL; - HRESULT result = compileFunc(hlsl, strlen(hlsl), gl::g_fakepath, NULL, NULL, "main", profile, optimizationFlags[i], 0, &binary, &errorMessage); + HRESULT result = mD3DCompileFunc(hlsl.c_str(), hlsl.length(), gl::g_fakepath, macros, NULL, "main", profile.c_str(), + configs[i].flags, 0, &binary, &errorMessage); if (errorMessage) { - const char *message = (const char*)errorMessage->GetBufferPointer(); + std::string message = reinterpret_cast<const char*>(errorMessage->GetBufferPointer()); + SafeRelease(errorMessage); - infoLog.appendSanitized(message); - TRACE("\n%s", hlsl); - TRACE("\n%s", message); + infoLog.appendSanitized(message.c_str()); + TRACE("\n%s", hlsl.c_str()); + TRACE("\n%s", message.c_str()); - SafeRelease(errorMessage); + if (message.find("error X3531:") != std::string::npos) // "can't unroll loops marked with loop attribute" + { + macros = NULL; // Disable [loop] and [flatten] + + // Retry without changing compiler flags + i--; + continue; + } } if (SUCCEEDED(result)) { - return (ShaderBlob*)binary; + *outCompiledBlob = binary; + +#ifdef ANGLE_GENERATE_SHADER_DEBUG_INFO + (*outDebugInfo) += "// COMPILER INPUT HLSL BEGIN\n\n" + hlsl + "\n// COMPILER INPUT HLSL END\n"; + (*outDebugInfo) += "\n\n// ASSEMBLY BEGIN\n\n"; + (*outDebugInfo) += "// Compiler configuration: " + configs[i].name + "\n// Flags:\n"; + (*outDebugInfo) += "\n" + disassembleBinary(binary) + "\n// ASSEMBLY END\n"; +#endif + + return gl::Error(GL_NO_ERROR); } else { if (result == E_OUTOFMEMORY) { - return gl::error(GL_OUT_OF_MEMORY, (ShaderBlob*)NULL); + *outCompiledBlob = NULL; + return gl::Error(GL_OUT_OF_MEMORY, "HLSL compiler had an unexpected failure, result: 0x%X.", result); } - infoLog.append("Warning: D3D shader compilation failed with %s flags.", flagNames[i]); + infoLog.append("Warning: D3D shader compilation failed with %s flags.", configs[i].name.c_str()); - if (i + 1 < attempts) + if (i + 1 < configs.size()) { - infoLog.append(" Retrying with %s.\n", flagNames[i + 1]); + infoLog.append(" Retrying with %s.\n", configs[i + 1].name.c_str()); } } } - return NULL; + // None of the configurations succeeded in compiling this shader but the compiler is still intact + *outCompiledBlob = NULL; + return gl::Error(GL_NO_ERROR); +} + +std::string HLSLCompiler::disassembleBinary(ID3DBlob *shaderBinary) const +{ + // Retrieve disassembly + UINT flags = D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS | D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING; + ID3DBlob *disassembly = NULL; + pD3DDisassemble disassembleFunc = reinterpret_cast<pD3DDisassemble>(mD3DDisassembleFunc); + LPCVOID buffer = shaderBinary->GetBufferPointer(); + SIZE_T bufSize = shaderBinary->GetBufferSize(); + HRESULT result = disassembleFunc(buffer, bufSize, flags, "", &disassembly); + + std::string asmSrc; + if (SUCCEEDED(result)) + { + asmSrc = reinterpret_cast<const char*>(disassembly->GetBufferPointer()); + } + + SafeRelease(disassembly); + + return asmSrc; } } diff --git a/src/libGLESv2/renderer/d3d/HLSLCompiler.h b/src/libGLESv2/renderer/d3d/HLSLCompiler.h index 0ce9e44b..ff56f803 100644 --- a/src/libGLESv2/renderer/d3d/HLSLCompiler.h +++ b/src/libGLESv2/renderer/d3d/HLSLCompiler.h @@ -1,7 +1,13 @@ #ifndef LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_ #define LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_ +#include "libGLESv2/Error.h" + #include "common/angleutils.h" +#include "common/platform.h" + +#include <vector> +#include <string> namespace gl { @@ -11,8 +17,14 @@ class InfoLog; namespace rx { -typedef void* ShaderBlob; -typedef void(*CompileFuncPtr)(); +struct CompileConfig +{ + UINT flags; + std::string name; + + CompileConfig(); + CompileConfig(UINT flags, const std::string &name); +}; class HLSLCompiler { @@ -23,14 +35,20 @@ class HLSLCompiler bool initialize(); void release(); - ShaderBlob *compileToBinary(gl::InfoLog &infoLog, const char *hlsl, const char *profile, - const UINT optimizationFlags[], const char *flagNames[], int attempts) const; + // Attempt to compile a HLSL shader using the supplied configurations, may output a NULL compiled blob + // even if no GL errors are returned. + gl::Error compileToBinary(gl::InfoLog &infoLog, const std::string &hlsl, const std::string &profile, + const std::vector<CompileConfig> &configs, const D3D_SHADER_MACRO *overrideMacros, + ID3DBlob **outCompiledBlob, std::string *outDebugInfo) const; + + std::string disassembleBinary(ID3DBlob* shaderBinary) const; private: DISALLOW_COPY_AND_ASSIGN(HLSLCompiler); HMODULE mD3DCompilerModule; - CompileFuncPtr mD3DCompileFunc; + pD3DCompile mD3DCompileFunc; + pD3DDisassemble mD3DDisassembleFunc; }; } diff --git a/src/libGLESv2/renderer/d3d/ImageD3D.h b/src/libGLESv2/renderer/d3d/ImageD3D.h index 60a6ffdf..554ca0ce 100644 --- a/src/libGLESv2/renderer/d3d/ImageD3D.h +++ b/src/libGLESv2/renderer/d3d/ImageD3D.h @@ -17,6 +17,8 @@ namespace gl { class Framebuffer; +struct ImageIndex; +struct Box; } namespace rx @@ -33,14 +35,11 @@ class ImageD3D : public Image virtual bool isDirty() const = 0; - virtual void setManagedSurface2D(TextureStorage *storage, int level) {}; - virtual void setManagedSurfaceCube(TextureStorage *storage, int face, int level) {}; - virtual void setManagedSurface3D(TextureStorage *storage, int level) {}; - virtual void setManagedSurface2DArray(TextureStorage *storage, int layer, int level) {}; - virtual bool copyToStorage2D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) = 0; - virtual bool copyToStorageCube(TextureStorage *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) = 0; - virtual bool copyToStorage3D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) = 0; - virtual bool copyToStorage2DArray(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height) = 0; + virtual gl::Error setManagedSurface2D(TextureStorage *storage, int level) { return gl::Error(GL_NO_ERROR); }; + virtual gl::Error setManagedSurfaceCube(TextureStorage *storage, int face, int level) { return gl::Error(GL_NO_ERROR); }; + virtual gl::Error setManagedSurface3D(TextureStorage *storage, int level) { return gl::Error(GL_NO_ERROR); }; + virtual gl::Error setManagedSurface2DArray(TextureStorage *storage, int layer, int level) { return gl::Error(GL_NO_ERROR); }; + virtual gl::Error copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box ®ion) = 0; private: DISALLOW_COPY_AND_ASSIGN(ImageD3D); diff --git a/src/libGLESv2/renderer/d3d/ProgramD3D.cpp b/src/libGLESv2/renderer/d3d/ProgramD3D.cpp index d7d97cc2..681c3305 100644 --- a/src/libGLESv2/renderer/d3d/ProgramD3D.cpp +++ b/src/libGLESv2/renderer/d3d/ProgramD3D.cpp @@ -9,6 +9,9 @@ #include "libGLESv2/renderer/d3d/ProgramD3D.h" #include "common/utilities.h" +#include "libGLESv2/Framebuffer.h" +#include "libGLESv2/FramebufferAttachment.h" +#include "libGLESv2/Program.h" #include "libGLESv2/ProgramBinary.h" #include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/ShaderExecutable.h" @@ -19,16 +22,101 @@ namespace rx { -ProgramD3D::ProgramD3D(rx::Renderer *renderer) +namespace +{ + +void GetDefaultInputLayoutFromShader(const std::vector<sh::Attribute> &shaderAttributes, gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS]) +{ + size_t layoutIndex = 0; + for (size_t attributeIndex = 0; attributeIndex < shaderAttributes.size(); attributeIndex++) + { + ASSERT(layoutIndex < gl::MAX_VERTEX_ATTRIBS); + + const sh::Attribute &shaderAttr = shaderAttributes[attributeIndex]; + + if (shaderAttr.type != GL_NONE) + { + GLenum transposedType = gl::TransposeMatrixType(shaderAttr.type); + + for (size_t rowIndex = 0; static_cast<int>(rowIndex) < gl::VariableRowCount(transposedType); rowIndex++, layoutIndex++) + { + gl::VertexFormat *defaultFormat = &inputLayout[layoutIndex]; + + defaultFormat->mType = gl::VariableComponentType(transposedType); + defaultFormat->mNormalized = false; + defaultFormat->mPureInteger = (defaultFormat->mType != GL_FLOAT); // note: inputs can not be bool + defaultFormat->mComponents = gl::VariableColumnCount(transposedType); + } + } + } +} + +std::vector<GLenum> GetDefaultOutputLayoutFromShader(const std::vector<PixelShaderOutputVariable> &shaderOutputVars) +{ + std::vector<GLenum> defaultPixelOutput(1); + + ASSERT(!shaderOutputVars.empty()); + defaultPixelOutput[0] = GL_COLOR_ATTACHMENT0 + shaderOutputVars[0].outputIndex; + + return defaultPixelOutput; +} + +} + +ProgramD3D::VertexExecutable::VertexExecutable(const gl::VertexFormat inputLayout[], + const GLenum signature[], + ShaderExecutable *shaderExecutable) + : mShaderExecutable(shaderExecutable) +{ + for (size_t attributeIndex = 0; attributeIndex < gl::MAX_VERTEX_ATTRIBS; attributeIndex++) + { + mInputs[attributeIndex] = inputLayout[attributeIndex]; + mSignature[attributeIndex] = signature[attributeIndex]; + } +} + +ProgramD3D::VertexExecutable::~VertexExecutable() +{ + SafeDelete(mShaderExecutable); +} + +bool ProgramD3D::VertexExecutable::matchesSignature(const GLenum signature[]) const +{ + for (size_t attributeIndex = 0; attributeIndex < gl::MAX_VERTEX_ATTRIBS; attributeIndex++) + { + if (mSignature[attributeIndex] != signature[attributeIndex]) + { + return false; + } + } + + return true; +} + +ProgramD3D::PixelExecutable::PixelExecutable(const std::vector<GLenum> &outputSignature, ShaderExecutable *shaderExecutable) + : mOutputSignature(outputSignature), + mShaderExecutable(shaderExecutable) +{ +} + +ProgramD3D::PixelExecutable::~PixelExecutable() +{ + SafeDelete(mShaderExecutable); +} + +ProgramD3D::ProgramD3D(Renderer *renderer) : ProgramImpl(), mRenderer(renderer), mDynamicHLSL(NULL), - mVertexWorkarounds(rx::ANGLE_D3D_WORKAROUND_NONE), - mPixelWorkarounds(rx::ANGLE_D3D_WORKAROUND_NONE), + mGeometryExecutable(NULL), + mVertexWorkarounds(ANGLE_D3D_WORKAROUND_NONE), + mPixelWorkarounds(ANGLE_D3D_WORKAROUND_NONE), + mUsesPointSize(false), mVertexUniformStorage(NULL), - mFragmentUniformStorage(NULL) + mFragmentUniformStorage(NULL), + mShaderVersion(100) { - mDynamicHLSL = new rx::DynamicHLSL(renderer); + mDynamicHLSL = new DynamicHLSL(renderer); } ProgramD3D::~ProgramD3D() @@ -49,13 +137,41 @@ const ProgramD3D *ProgramD3D::makeProgramD3D(const ProgramImpl *impl) return static_cast<const ProgramD3D*>(impl); } -bool ProgramD3D::load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream) +bool ProgramD3D::usesPointSpriteEmulation() const +{ + return mUsesPointSize && mRenderer->getMajorShaderModel() >= 4; +} + +bool ProgramD3D::usesGeometryShader() const +{ + return usesPointSpriteEmulation(); +} + +gl::LinkResult ProgramD3D::load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream) { + stream->readInt(&mShaderVersion); + + stream->readInt(&mTransformFeedbackBufferMode); + const unsigned int transformFeedbackVaryingCount = stream->readInt<unsigned int>(); + mTransformFeedbackLinkedVaryings.resize(transformFeedbackVaryingCount); + for (unsigned int varyingIndex = 0; varyingIndex < transformFeedbackVaryingCount; varyingIndex++) + { + gl::LinkedVarying &varying = mTransformFeedbackLinkedVaryings[varyingIndex]; + + stream->readString(&varying.name); + stream->readInt(&varying.type); + stream->readInt(&varying.size); + stream->readString(&varying.semanticName); + stream->readInt(&varying.semanticIndex); + stream->readInt(&varying.semanticIndexCount); + } + stream->readString(&mVertexHLSL); stream->readInt(&mVertexWorkarounds); stream->readString(&mPixelHLSL); stream->readInt(&mPixelWorkarounds); stream->readBool(&mUsesFragDepth); + stream->readBool(&mUsesPointSize); const size_t pixelShaderKeySize = stream->readInt<unsigned int>(); mPixelShaderKey.resize(pixelShaderKeySize); @@ -67,99 +183,428 @@ bool ProgramD3D::load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream) stream->readInt(&mPixelShaderKey[pixelShaderKeyIndex].outputIndex); } - return true; + const unsigned char* binary = reinterpret_cast<const unsigned char*>(stream->data()); + + const unsigned int vertexShaderCount = stream->readInt<unsigned int>(); + for (unsigned int vertexShaderIndex = 0; vertexShaderIndex < vertexShaderCount; vertexShaderIndex++) + { + gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS]; + + for (size_t inputIndex = 0; inputIndex < gl::MAX_VERTEX_ATTRIBS; inputIndex++) + { + gl::VertexFormat *vertexInput = &inputLayout[inputIndex]; + stream->readInt(&vertexInput->mType); + stream->readInt(&vertexInput->mNormalized); + stream->readInt(&vertexInput->mComponents); + stream->readBool(&vertexInput->mPureInteger); + } + + unsigned int vertexShaderSize = stream->readInt<unsigned int>(); + const unsigned char *vertexShaderFunction = binary + stream->offset(); + + ShaderExecutable *shaderExecutable = NULL; + gl::Error error = mRenderer->loadExecutable(vertexShaderFunction, vertexShaderSize, + SHADER_VERTEX, + mTransformFeedbackLinkedVaryings, + (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), + &shaderExecutable); + if (error.isError()) + { + return gl::LinkResult(false, error); + } + + if (!shaderExecutable) + { + infoLog.append("Could not create vertex shader."); + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); + } + + // generated converted input layout + GLenum signature[gl::MAX_VERTEX_ATTRIBS]; + getInputLayoutSignature(inputLayout, signature); + + // add new binary + mVertexExecutables.push_back(new VertexExecutable(inputLayout, signature, shaderExecutable)); + + stream->skip(vertexShaderSize); + } + + const size_t pixelShaderCount = stream->readInt<unsigned int>(); + for (size_t pixelShaderIndex = 0; pixelShaderIndex < pixelShaderCount; pixelShaderIndex++) + { + const size_t outputCount = stream->readInt<unsigned int>(); + std::vector<GLenum> outputs(outputCount); + for (size_t outputIndex = 0; outputIndex < outputCount; outputIndex++) + { + stream->readInt(&outputs[outputIndex]); + } + + const size_t pixelShaderSize = stream->readInt<unsigned int>(); + const unsigned char *pixelShaderFunction = binary + stream->offset(); + ShaderExecutable *shaderExecutable = NULL; + gl::Error error = mRenderer->loadExecutable(pixelShaderFunction, pixelShaderSize, SHADER_PIXEL, + mTransformFeedbackLinkedVaryings, + (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), + &shaderExecutable); + if (error.isError()) + { + return gl::LinkResult(false, error); + } + + if (!shaderExecutable) + { + infoLog.append("Could not create pixel shader."); + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); + } + + // add new binary + mPixelExecutables.push_back(new PixelExecutable(outputs, shaderExecutable)); + + stream->skip(pixelShaderSize); + } + + unsigned int geometryShaderSize = stream->readInt<unsigned int>(); + + if (geometryShaderSize > 0) + { + const unsigned char *geometryShaderFunction = binary + stream->offset(); + gl::Error error = mRenderer->loadExecutable(geometryShaderFunction, geometryShaderSize, SHADER_GEOMETRY, + mTransformFeedbackLinkedVaryings, + (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), + &mGeometryExecutable); + if (error.isError()) + { + return gl::LinkResult(false, error); + } + + if (!mGeometryExecutable) + { + infoLog.append("Could not create geometry shader."); + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); + } + stream->skip(geometryShaderSize); + } + + GUID binaryIdentifier = {0}; + stream->readBytes(reinterpret_cast<unsigned char*>(&binaryIdentifier), sizeof(GUID)); + + GUID identifier = mRenderer->getAdapterIdentifier(); + if (memcmp(&identifier, &binaryIdentifier, sizeof(GUID)) != 0) + { + infoLog.append("Invalid program binary."); + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); + } + + return gl::LinkResult(true, gl::Error(GL_NO_ERROR)); } -bool ProgramD3D::save(gl::BinaryOutputStream *stream) +gl::Error ProgramD3D::save(gl::BinaryOutputStream *stream) { + stream->writeInt(mShaderVersion); + + stream->writeInt(mTransformFeedbackBufferMode); + stream->writeInt(mTransformFeedbackLinkedVaryings.size()); + for (size_t i = 0; i < mTransformFeedbackLinkedVaryings.size(); i++) + { + const gl::LinkedVarying &varying = mTransformFeedbackLinkedVaryings[i]; + + stream->writeString(varying.name); + stream->writeInt(varying.type); + stream->writeInt(varying.size); + stream->writeString(varying.semanticName); + stream->writeInt(varying.semanticIndex); + stream->writeInt(varying.semanticIndexCount); + } + stream->writeString(mVertexHLSL); stream->writeInt(mVertexWorkarounds); stream->writeString(mPixelHLSL); stream->writeInt(mPixelWorkarounds); stream->writeInt(mUsesFragDepth); + stream->writeInt(mUsesPointSize); - const std::vector<rx::PixelShaderOutputVariable> &pixelShaderKey = mPixelShaderKey; + const std::vector<PixelShaderOutputVariable> &pixelShaderKey = mPixelShaderKey; stream->writeInt(pixelShaderKey.size()); for (size_t pixelShaderKeyIndex = 0; pixelShaderKeyIndex < pixelShaderKey.size(); pixelShaderKeyIndex++) { - const rx::PixelShaderOutputVariable &variable = pixelShaderKey[pixelShaderKeyIndex]; + const PixelShaderOutputVariable &variable = pixelShaderKey[pixelShaderKeyIndex]; stream->writeInt(variable.type); stream->writeString(variable.name); stream->writeString(variable.source); stream->writeInt(variable.outputIndex); } - return true; + stream->writeInt(mVertexExecutables.size()); + for (size_t vertexExecutableIndex = 0; vertexExecutableIndex < mVertexExecutables.size(); vertexExecutableIndex++) + { + VertexExecutable *vertexExecutable = mVertexExecutables[vertexExecutableIndex]; + + for (size_t inputIndex = 0; inputIndex < gl::MAX_VERTEX_ATTRIBS; inputIndex++) + { + const gl::VertexFormat &vertexInput = vertexExecutable->inputs()[inputIndex]; + stream->writeInt(vertexInput.mType); + stream->writeInt(vertexInput.mNormalized); + stream->writeInt(vertexInput.mComponents); + stream->writeInt(vertexInput.mPureInteger); + } + + size_t vertexShaderSize = vertexExecutable->shaderExecutable()->getLength(); + stream->writeInt(vertexShaderSize); + + const uint8_t *vertexBlob = vertexExecutable->shaderExecutable()->getFunction(); + stream->writeBytes(vertexBlob, vertexShaderSize); + } + + stream->writeInt(mPixelExecutables.size()); + for (size_t pixelExecutableIndex = 0; pixelExecutableIndex < mPixelExecutables.size(); pixelExecutableIndex++) + { + PixelExecutable *pixelExecutable = mPixelExecutables[pixelExecutableIndex]; + + const std::vector<GLenum> outputs = pixelExecutable->outputSignature(); + stream->writeInt(outputs.size()); + for (size_t outputIndex = 0; outputIndex < outputs.size(); outputIndex++) + { + stream->writeInt(outputs[outputIndex]); + } + + size_t pixelShaderSize = pixelExecutable->shaderExecutable()->getLength(); + stream->writeInt(pixelShaderSize); + + const uint8_t *pixelBlob = pixelExecutable->shaderExecutable()->getFunction(); + stream->writeBytes(pixelBlob, pixelShaderSize); + } + + size_t geometryShaderSize = (mGeometryExecutable != NULL) ? mGeometryExecutable->getLength() : 0; + stream->writeInt(geometryShaderSize); + + if (mGeometryExecutable != NULL && geometryShaderSize > 0) + { + const uint8_t *geometryBlob = mGeometryExecutable->getFunction(); + stream->writeBytes(geometryBlob, geometryShaderSize); + } + + GUID binaryIdentifier = mRenderer->getAdapterIdentifier(); + stream->writeBytes(reinterpret_cast<unsigned char*>(&binaryIdentifier), sizeof(GUID)); + + return gl::Error(GL_NO_ERROR); +} + +gl::Error ProgramD3D::getPixelExecutableForFramebuffer(const gl::Framebuffer *fbo, ShaderExecutable **outExecutable) +{ + std::vector<GLenum> outputs; + + const gl::ColorbufferInfo &colorbuffers = fbo->getColorbuffersForRender(); + + for (size_t colorAttachment = 0; colorAttachment < colorbuffers.size(); ++colorAttachment) + { + const gl::FramebufferAttachment *colorbuffer = colorbuffers[colorAttachment]; + + if (colorbuffer) + { + outputs.push_back(colorbuffer->getBinding() == GL_BACK ? GL_COLOR_ATTACHMENT0 : colorbuffer->getBinding()); + } + else + { + outputs.push_back(GL_NONE); + } + } + + return getPixelExecutableForOutputLayout(outputs, outExecutable); } -rx::ShaderExecutable *ProgramD3D::getPixelExecutableForOutputLayout(gl::InfoLog &infoLog, const std::vector<GLenum> &outputSignature, - const std::vector<gl::LinkedVarying> &transformFeedbackLinkedVaryings, - bool separatedOutputBuffers) +gl::Error ProgramD3D::getPixelExecutableForOutputLayout(const std::vector<GLenum> &outputSignature, ShaderExecutable **outExectuable) { + for (size_t executableIndex = 0; executableIndex < mPixelExecutables.size(); executableIndex++) + { + if (mPixelExecutables[executableIndex]->matchesSignature(outputSignature)) + { + *outExectuable = mPixelExecutables[executableIndex]->shaderExecutable(); + return gl::Error(GL_NO_ERROR); + } + } + std::string finalPixelHLSL = mDynamicHLSL->generatePixelShaderForOutputSignature(mPixelHLSL, mPixelShaderKey, mUsesFragDepth, outputSignature); // Generate new pixel executable - rx::ShaderExecutable *pixelExecutable = mRenderer->compileToExecutable(infoLog, finalPixelHLSL.c_str(), rx::SHADER_PIXEL, - transformFeedbackLinkedVaryings, separatedOutputBuffers, - mPixelWorkarounds); + gl::InfoLog tempInfoLog; + ShaderExecutable *pixelExecutable = NULL; + gl::Error error = mRenderer->compileToExecutable(tempInfoLog, finalPixelHLSL, SHADER_PIXEL, + mTransformFeedbackLinkedVaryings, + (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), + mPixelWorkarounds, &pixelExecutable); + if (error.isError()) + { + return error; + } - return pixelExecutable; + if (!pixelExecutable) + { + std::vector<char> tempCharBuffer(tempInfoLog.getLength() + 3); + tempInfoLog.getLog(tempInfoLog.getLength(), NULL, &tempCharBuffer[0]); + ERR("Error compiling dynamic pixel executable:\n%s\n", &tempCharBuffer[0]); + } + else + { + mPixelExecutables.push_back(new PixelExecutable(outputSignature, pixelExecutable)); + } + + *outExectuable = pixelExecutable; + return gl::Error(GL_NO_ERROR); } -rx::ShaderExecutable *ProgramD3D::getVertexExecutableForInputLayout(gl::InfoLog &infoLog, - const gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS], - const sh::Attribute shaderAttributes[], - const std::vector<gl::LinkedVarying> &transformFeedbackLinkedVaryings, - bool separatedOutputBuffers) +gl::Error ProgramD3D::getVertexExecutableForInputLayout(const gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS], ShaderExecutable **outExectuable) { + GLenum signature[gl::MAX_VERTEX_ATTRIBS]; + getInputLayoutSignature(inputLayout, signature); + + for (size_t executableIndex = 0; executableIndex < mVertexExecutables.size(); executableIndex++) + { + if (mVertexExecutables[executableIndex]->matchesSignature(signature)) + { + *outExectuable = mVertexExecutables[executableIndex]->shaderExecutable(); + return gl::Error(GL_NO_ERROR); + } + } + // Generate new dynamic layout with attribute conversions - std::string finalVertexHLSL = mDynamicHLSL->generateVertexShaderForInputLayout(mVertexHLSL, inputLayout, shaderAttributes); + std::string finalVertexHLSL = mDynamicHLSL->generateVertexShaderForInputLayout(mVertexHLSL, inputLayout, mShaderAttributes); // Generate new vertex executable - rx::ShaderExecutable *vertexExecutable = mRenderer->compileToExecutable(infoLog, finalVertexHLSL.c_str(), - rx::SHADER_VERTEX, - transformFeedbackLinkedVaryings, separatedOutputBuffers, - mVertexWorkarounds); + gl::InfoLog tempInfoLog; + ShaderExecutable *vertexExecutable = NULL; + gl::Error error = mRenderer->compileToExecutable(tempInfoLog, finalVertexHLSL, SHADER_VERTEX, + mTransformFeedbackLinkedVaryings, + (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), + mVertexWorkarounds, &vertexExecutable); + if (error.isError()) + { + return error; + } + + if (!vertexExecutable) + { + std::vector<char> tempCharBuffer(tempInfoLog.getLength()+3); + tempInfoLog.getLog(tempInfoLog.getLength(), NULL, &tempCharBuffer[0]); + ERR("Error compiling dynamic vertex executable:\n%s\n", &tempCharBuffer[0]); + } + else + { + mVertexExecutables.push_back(new VertexExecutable(inputLayout, signature, vertexExecutable)); + } + + *outExectuable = vertexExecutable; + return gl::Error(GL_NO_ERROR); +} + +gl::LinkResult ProgramD3D::compileProgramExecutables(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, + int registers) +{ + ShaderD3D *vertexShaderD3D = ShaderD3D::makeShaderD3D(vertexShader->getImplementation()); + ShaderD3D *fragmentShaderD3D = ShaderD3D::makeShaderD3D(fragmentShader->getImplementation()); + + gl::VertexFormat defaultInputLayout[gl::MAX_VERTEX_ATTRIBS]; + GetDefaultInputLayoutFromShader(vertexShader->getActiveAttributes(), defaultInputLayout); + ShaderExecutable *defaultVertexExecutable = NULL; + gl::Error error = getVertexExecutableForInputLayout(defaultInputLayout, &defaultVertexExecutable); + if (error.isError()) + { + return gl::LinkResult(false, error); + } + + std::vector<GLenum> defaultPixelOutput = GetDefaultOutputLayoutFromShader(getPixelShaderKey()); + ShaderExecutable *defaultPixelExecutable = NULL; + error = getPixelExecutableForOutputLayout(defaultPixelOutput, &defaultPixelExecutable); + if (error.isError()) + { + return gl::LinkResult(false, error); + } + + if (usesGeometryShader()) + { + std::string geometryHLSL = mDynamicHLSL->generateGeometryShaderHLSL(registers, fragmentShaderD3D, vertexShaderD3D); + + + error = mRenderer->compileToExecutable(infoLog, geometryHLSL, SHADER_GEOMETRY, mTransformFeedbackLinkedVaryings, + (mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS), + ANGLE_D3D_WORKAROUND_NONE, &mGeometryExecutable); + if (error.isError()) + { + return gl::LinkResult(false, error); + } + } + +#ifdef ANGLE_GENERATE_SHADER_DEBUG_INFO + if (usesGeometryShader() && mGeometryExecutable) + { + // Geometry shaders are currently only used internally, so there is no corresponding shader object at the interface level + // For now the geometry shader debug info is pre-pended to the vertex shader, this is a bit of a clutch + vertexShaderD3D->appendDebugInfo("// GEOMETRY SHADER BEGIN\n\n"); + vertexShaderD3D->appendDebugInfo(mGeometryExecutable->getDebugInfo()); + vertexShaderD3D->appendDebugInfo("\nGEOMETRY SHADER END\n\n\n"); + } + + if (defaultVertexExecutable) + { + vertexShaderD3D->appendDebugInfo(defaultVertexExecutable->getDebugInfo()); + } - return vertexExecutable; + if (defaultPixelExecutable) + { + fragmentShaderD3D->appendDebugInfo(defaultPixelExecutable->getDebugInfo()); + } +#endif + + bool linkSuccess = (defaultVertexExecutable && defaultPixelExecutable && (!usesGeometryShader() || mGeometryExecutable)); + return gl::LinkResult(linkSuccess, gl::Error(GL_NO_ERROR)); } -bool ProgramD3D::link(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, - const std::vector<std::string> &transformFeedbackVaryings, int *registers, - std::vector<gl::LinkedVarying> *linkedVaryings, std::map<int, gl::VariableLocation> *outputVariables) +gl::LinkResult ProgramD3D::link(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, + const std::vector<std::string> &transformFeedbackVaryings, GLenum transformFeedbackBufferMode, + int *registers, std::vector<gl::LinkedVarying> *linkedVaryings, + std::map<int, gl::VariableLocation> *outputVariables, const gl::Caps &caps) { - rx::ShaderD3D *vertexShaderD3D = rx::ShaderD3D::makeShaderD3D(vertexShader->getImplementation()); - rx::ShaderD3D *fragmentShaderD3D = rx::ShaderD3D::makeShaderD3D(fragmentShader->getImplementation()); + ShaderD3D *vertexShaderD3D = ShaderD3D::makeShaderD3D(vertexShader->getImplementation()); + ShaderD3D *fragmentShaderD3D = ShaderD3D::makeShaderD3D(fragmentShader->getImplementation()); + + mTransformFeedbackBufferMode = transformFeedbackBufferMode; mPixelHLSL = fragmentShaderD3D->getTranslatedSource(); mPixelWorkarounds = fragmentShaderD3D->getD3DWorkarounds(); mVertexHLSL = vertexShaderD3D->getTranslatedSource(); mVertexWorkarounds = vertexShaderD3D->getD3DWorkarounds(); + mShaderVersion = vertexShaderD3D->getShaderVersion(); // Map the varyings to the register file - rx::VaryingPacking packing = { NULL }; + VaryingPacking packing = { NULL }; *registers = mDynamicHLSL->packVaryings(infoLog, packing, fragmentShaderD3D, vertexShaderD3D, transformFeedbackVaryings); if (*registers < 0) { - return false; + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); } if (!gl::ProgramBinary::linkVaryings(infoLog, fragmentShader, vertexShader)) { - return false; + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); } if (!mDynamicHLSL->generateShaderLinkHLSL(infoLog, *registers, packing, mPixelHLSL, mVertexHLSL, fragmentShaderD3D, vertexShaderD3D, transformFeedbackVaryings, linkedVaryings, outputVariables, &mPixelShaderKey, &mUsesFragDepth)) { - return false; + return gl::LinkResult(false, gl::Error(GL_NO_ERROR)); } - return true; + mUsesPointSize = vertexShaderD3D->usesPointSize(); + + return gl::LinkResult(true, gl::Error(GL_NO_ERROR)); +} + +void ProgramD3D::getInputLayoutSignature(const gl::VertexFormat inputLayout[], GLenum signature[]) const +{ + mDynamicHLSL->getInputLayoutSignature(inputLayout, signature); } void ProgramD3D::initializeUniformStorage(const std::vector<gl::LinkedUniform*> &uniforms) @@ -188,15 +633,118 @@ void ProgramD3D::initializeUniformStorage(const std::vector<gl::LinkedUniform*> mFragmentUniformStorage = mRenderer->createUniformStorage(fragmentRegisters * 16u); } +gl::Error ProgramD3D::applyUniforms(const std::vector<gl::LinkedUniform*> &uniforms) +{ + return mRenderer->applyUniforms(*this, uniforms); +} + +gl::Error ProgramD3D::applyUniformBuffers(const std::vector<gl::UniformBlock*> uniformBlocks, const std::vector<gl::Buffer*> boundBuffers, + const gl::Caps &caps) +{ + const gl::Buffer *vertexUniformBuffers[gl::IMPLEMENTATION_MAX_VERTEX_SHADER_UNIFORM_BUFFERS] = {NULL}; + const gl::Buffer *fragmentUniformBuffers[gl::IMPLEMENTATION_MAX_FRAGMENT_SHADER_UNIFORM_BUFFERS] = {NULL}; + + const unsigned int reservedBuffersInVS = mRenderer->getReservedVertexUniformBuffers(); + const unsigned int reservedBuffersInFS = mRenderer->getReservedFragmentUniformBuffers(); + + for (unsigned int uniformBlockIndex = 0; uniformBlockIndex < uniformBlocks.size(); uniformBlockIndex++) + { + gl::UniformBlock *uniformBlock = uniformBlocks[uniformBlockIndex]; + gl::Buffer *uniformBuffer = boundBuffers[uniformBlockIndex]; + + ASSERT(uniformBlock && uniformBuffer); + + if (uniformBuffer->getSize() < uniformBlock->dataSize) + { + // undefined behaviour + return gl::Error(GL_INVALID_OPERATION, "It is undefined behaviour to use a uniform buffer that is too small."); + } + + // Unnecessary to apply an unreferenced standard or shared UBO + if (!uniformBlock->isReferencedByVertexShader() && !uniformBlock->isReferencedByFragmentShader()) + { + continue; + } + + if (uniformBlock->isReferencedByVertexShader()) + { + unsigned int registerIndex = uniformBlock->vsRegisterIndex - reservedBuffersInVS; + ASSERT(vertexUniformBuffers[registerIndex] == NULL); + ASSERT(registerIndex < caps.maxVertexUniformBlocks); + vertexUniformBuffers[registerIndex] = uniformBuffer; + } + + if (uniformBlock->isReferencedByFragmentShader()) + { + unsigned int registerIndex = uniformBlock->psRegisterIndex - reservedBuffersInFS; + ASSERT(fragmentUniformBuffers[registerIndex] == NULL); + ASSERT(registerIndex < caps.maxFragmentUniformBlocks); + fragmentUniformBuffers[registerIndex] = uniformBuffer; + } + } + + return mRenderer->setUniformBuffers(vertexUniformBuffers, fragmentUniformBuffers); +} + +bool ProgramD3D::assignUniformBlockRegister(gl::InfoLog &infoLog, gl::UniformBlock *uniformBlock, GLenum shader, + unsigned int registerIndex, const gl::Caps &caps) +{ + if (shader == GL_VERTEX_SHADER) + { + uniformBlock->vsRegisterIndex = registerIndex; + if (registerIndex - mRenderer->getReservedVertexUniformBuffers() >= caps.maxVertexUniformBlocks) + { + infoLog.append("Vertex shader uniform block count exceed GL_MAX_VERTEX_UNIFORM_BLOCKS (%u)", caps.maxVertexUniformBlocks); + return false; + } + } + else if (shader == GL_FRAGMENT_SHADER) + { + uniformBlock->psRegisterIndex = registerIndex; + if (registerIndex - mRenderer->getReservedFragmentUniformBuffers() >= caps.maxFragmentUniformBlocks) + { + infoLog.append("Fragment shader uniform block count exceed GL_MAX_FRAGMENT_UNIFORM_BLOCKS (%u)", caps.maxFragmentUniformBlocks); + return false; + } + } + else UNREACHABLE(); + + return true; +} + +unsigned int ProgramD3D::getReservedUniformVectors(GLenum shader) +{ + if (shader == GL_VERTEX_SHADER) + { + return mRenderer->getReservedVertexUniformVectors(); + } + else if (shader == GL_FRAGMENT_SHADER) + { + return mRenderer->getReservedFragmentUniformVectors(); + } + else UNREACHABLE(); + + return 0; +} + void ProgramD3D::reset() { + SafeDeleteContainer(mVertexExecutables); + SafeDeleteContainer(mPixelExecutables); + SafeDelete(mGeometryExecutable); + + mTransformFeedbackBufferMode = GL_NONE; + mTransformFeedbackLinkedVaryings.clear(); + mVertexHLSL.clear(); - mVertexWorkarounds = rx::ANGLE_D3D_WORKAROUND_NONE; + mVertexWorkarounds = ANGLE_D3D_WORKAROUND_NONE; + mShaderVersion = 100; mPixelHLSL.clear(); - mPixelWorkarounds = rx::ANGLE_D3D_WORKAROUND_NONE; + mPixelWorkarounds = ANGLE_D3D_WORKAROUND_NONE; mUsesFragDepth = false; mPixelShaderKey.clear(); + mUsesPointSize = false; SafeDelete(mVertexUniformStorage); SafeDelete(mFragmentUniformStorage); diff --git a/src/libGLESv2/renderer/d3d/ProgramD3D.h b/src/libGLESv2/renderer/d3d/ProgramD3D.h index d645c57d..45a0574a 100644 --- a/src/libGLESv2/renderer/d3d/ProgramD3D.h +++ b/src/libGLESv2/renderer/d3d/ProgramD3D.h @@ -10,6 +10,7 @@ #define LIBGLESV2_RENDERER_PROGRAMD3D_H_ #include "libGLESv2/renderer/ProgramImpl.h" +#include "libGLESv2/renderer/Workarounds.h" #include <string> #include <vector> @@ -35,29 +36,42 @@ class ProgramD3D : public ProgramImpl static ProgramD3D *makeProgramD3D(ProgramImpl *impl); static const ProgramD3D *makeProgramD3D(const ProgramImpl *impl); - Renderer *getRenderer() { return mRenderer; } - DynamicHLSL *getDynamicHLSL() { return mDynamicHLSL; } const std::vector<rx::PixelShaderOutputVariable> &getPixelShaderKey() { return mPixelShaderKey; } + int getShaderVersion() const { return mShaderVersion; } + GLenum getTransformFeedbackBufferMode() const { return mTransformFeedbackBufferMode; } + std::vector<gl::LinkedVarying> &getTransformFeedbackLinkedVaryings() { return mTransformFeedbackLinkedVaryings; } + sh::Attribute *getShaderAttributes() { return mShaderAttributes; } + + bool usesPointSize() const { return mUsesPointSize; } + bool usesPointSpriteEmulation() const; + bool usesGeometryShader() const; GLenum getBinaryFormat() { return GL_PROGRAM_BINARY_ANGLE; } - bool load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream); - bool save(gl::BinaryOutputStream *stream); - - ShaderExecutable *getPixelExecutableForOutputLayout(gl::InfoLog &infoLog, const std::vector<GLenum> &outputSignature, - const std::vector<gl::LinkedVarying> &transformFeedbackLinkedVaryings, - bool separatedOutputBuffers); - ShaderExecutable *getVertexExecutableForInputLayout(gl::InfoLog &infoLog, - const gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS], - const sh::Attribute shaderAttributes[], - const std::vector<gl::LinkedVarying> &transformFeedbackLinkedVaryings, - bool separatedOutputBuffers); - - bool link(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, - const std::vector<std::string> &transformFeedbackVaryings, int *registers, - std::vector<gl::LinkedVarying> *linkedVaryings, std::map<int, gl::VariableLocation> *outputVariables); - - // D3D only + gl::LinkResult load(gl::InfoLog &infoLog, gl::BinaryInputStream *stream); + gl::Error save(gl::BinaryOutputStream *stream); + + gl::Error getPixelExecutableForFramebuffer(const gl::Framebuffer *fbo, ShaderExecutable **outExectuable); + gl::Error getPixelExecutableForOutputLayout(const std::vector<GLenum> &outputLayout, ShaderExecutable **outExectuable); + gl::Error getVertexExecutableForInputLayout(const gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS], ShaderExecutable **outExectuable); + ShaderExecutable *getGeometryExecutable() const { return mGeometryExecutable; } + + gl::LinkResult compileProgramExecutables(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, + int registers); + + gl::LinkResult link(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, + const std::vector<std::string> &transformFeedbackVaryings, GLenum transformFeedbackBufferMode, + int *registers, std::vector<gl::LinkedVarying> *linkedVaryings, + std::map<int, gl::VariableLocation> *outputVariables, const gl::Caps &caps); + + void getInputLayoutSignature(const gl::VertexFormat inputLayout[], GLenum signature[]) const; + void initializeUniformStorage(const std::vector<gl::LinkedUniform*> &uniforms); + gl::Error applyUniforms(const std::vector<gl::LinkedUniform*> &uniforms); + gl::Error applyUniformBuffers(const std::vector<gl::UniformBlock*> uniformBlocks, const std::vector<gl::Buffer*> boundBuffers, + const gl::Caps &caps); + bool assignUniformBlockRegister(gl::InfoLog &infoLog, gl::UniformBlock *uniformBlock, GLenum shader, + unsigned int registerIndex, const gl::Caps &caps); + unsigned int getReservedUniformVectors(GLenum shader); const UniformStorage &getVertexUniformStorage() const { return *mVertexUniformStorage; } const UniformStorage &getFragmentUniformStorage() const { return *mFragmentUniformStorage; } @@ -67,9 +81,49 @@ class ProgramD3D : public ProgramImpl private: DISALLOW_COPY_AND_ASSIGN(ProgramD3D); + class VertexExecutable + { + public: + VertexExecutable(const gl::VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS], + const GLenum signature[gl::MAX_VERTEX_ATTRIBS], + rx::ShaderExecutable *shaderExecutable); + ~VertexExecutable(); + + bool matchesSignature(const GLenum convertedLayout[gl::MAX_VERTEX_ATTRIBS]) const; + + const gl::VertexFormat *inputs() const { return mInputs; } + const GLenum *signature() const { return mSignature; } + rx::ShaderExecutable *shaderExecutable() const { return mShaderExecutable; } + + private: + gl::VertexFormat mInputs[gl::MAX_VERTEX_ATTRIBS]; + GLenum mSignature[gl::MAX_VERTEX_ATTRIBS]; + rx::ShaderExecutable *mShaderExecutable; + }; + + class PixelExecutable + { + public: + PixelExecutable(const std::vector<GLenum> &outputSignature, rx::ShaderExecutable *shaderExecutable); + ~PixelExecutable(); + + bool matchesSignature(const std::vector<GLenum> &signature) const { return mOutputSignature == signature; } + + const std::vector<GLenum> &outputSignature() const { return mOutputSignature; } + rx::ShaderExecutable *shaderExecutable() const { return mShaderExecutable; } + + private: + std::vector<GLenum> mOutputSignature; + rx::ShaderExecutable *mShaderExecutable; + }; + Renderer *mRenderer; DynamicHLSL *mDynamicHLSL; + std::vector<VertexExecutable *> mVertexExecutables; + std::vector<PixelExecutable *> mPixelExecutables; + rx::ShaderExecutable *mGeometryExecutable; + std::string mVertexHLSL; rx::D3DWorkaroundType mVertexWorkarounds; @@ -78,8 +132,17 @@ class ProgramD3D : public ProgramImpl bool mUsesFragDepth; std::vector<rx::PixelShaderOutputVariable> mPixelShaderKey; + bool mUsesPointSize; + UniformStorage *mVertexUniformStorage; UniformStorage *mFragmentUniformStorage; + + GLenum mTransformFeedbackBufferMode; + std::vector<gl::LinkedVarying> mTransformFeedbackLinkedVaryings; + + sh::Attribute mShaderAttributes[gl::MAX_VERTEX_ATTRIBS]; + + int mShaderVersion; }; } diff --git a/src/libGLESv2/renderer/d3d/ShaderD3D.cpp b/src/libGLESv2/renderer/d3d/ShaderD3D.cpp index c472113e..f3778d9a 100644 --- a/src/libGLESv2/renderer/d3d/ShaderD3D.cpp +++ b/src/libGLESv2/renderer/d3d/ShaderD3D.cpp @@ -13,6 +13,28 @@ #include "common/utilities.h" +// Definitions local to the translation unit +namespace +{ + +const char *GetShaderTypeString(GLenum type) +{ + switch (type) + { + case GL_VERTEX_SHADER: + return "VERTEX"; + + case GL_FRAGMENT_SHADER: + return "FRAGMENT"; + + default: + UNREACHABLE(); + return ""; + } +} + +} + namespace rx { @@ -69,6 +91,11 @@ const ShaderD3D *ShaderD3D::makeShaderD3D(const ShaderImpl *impl) return static_cast<const ShaderD3D*>(impl); } +std::string ShaderD3D::getDebugInfo() const +{ + return mDebugInfo + std::string("\n// ") + GetShaderTypeString(mType) + " SHADER END\n"; +} + // Perform a one-time initialization of the shader compiler (or after being destructed by releaseCompiler) void ShaderD3D::initializeCompiler() { @@ -183,6 +210,7 @@ void ShaderD3D::uncompile() mInterfaceBlocks.clear(); mActiveAttributes.clear(); mActiveOutputVariables.clear(); + mDebugInfo.clear(); } void ShaderD3D::compileToHLSL(void *compiler, const std::string &source) @@ -235,10 +263,12 @@ void ShaderD3D::compileToHLSL(void *compiler, const std::string &source) size_t objCodeLen = 0; ShGetInfo(compiler, SH_OBJECT_CODE_LENGTH, &objCodeLen); - char* outputHLSL = new char[objCodeLen]; - ShGetObjectCode(compiler, outputHLSL); + std::vector<char> outputHLSL(objCodeLen); + ShGetObjectCode(compiler, outputHLSL.data()); #ifdef _DEBUG + // Prefix hlsl shader with commented out glsl shader + // Useful in diagnostics tools like pix which capture the hlsl shaders std::ostringstream hlslStream; hlslStream << "// GLSL\n"; hlslStream << "//\n"; @@ -254,14 +284,12 @@ void ShaderD3D::compileToHLSL(void *compiler, const std::string &source) curPos = (nextLine == std::string::npos) ? std::string::npos : (nextLine + 1); } hlslStream << "\n\n"; - hlslStream << outputHLSL; + hlslStream << outputHLSL.data(); mHlsl = hlslStream.str(); #else - mHlsl = outputHLSL; + mHlsl = outputHLSL.data(); #endif - SafeDeleteArray(outputHLSL); - mUniforms = *GetShaderVariables(ShGetUniforms(compiler)); for (size_t uniformIndex = 0; uniformIndex < mUniforms.size(); uniformIndex++) @@ -301,11 +329,11 @@ void ShaderD3D::compileToHLSL(void *compiler, const std::string &source) size_t infoLogLen = 0; ShGetInfo(compiler, SH_INFO_LOG_LENGTH, &infoLogLen); - char* infoLog = new char[infoLogLen]; - ShGetInfoLog(compiler, infoLog); - mInfoLog = infoLog; + std::vector<char> infoLog(infoLogLen); + ShGetInfoLog(compiler, infoLog.data()); + mInfoLog = infoLog.data(); - TRACE("\n%s", mInfoLog.c_str()); + TRACE("\n%s", infoLog.data()); } } @@ -420,6 +448,15 @@ bool ShaderD3D::compile(const std::string &source) } } +#ifdef ANGLE_GENERATE_SHADER_DEBUG_INFO + mDebugInfo += std::string("// ") + GetShaderTypeString(mType) + " SHADER BEGIN\n"; + mDebugInfo += "\n// GLSL BEGIN\n\n" + source + "\n\n// GLSL END\n\n\n"; + mDebugInfo += "// INITIAL HLSL BEGIN\n\n" + getTranslatedSource() + "\n// INITIAL HLSL END\n\n\n"; + // Successive steps will append more info +#else + mDebugInfo += getTranslatedSource(); +#endif + return !getTranslatedSource().empty(); } diff --git a/src/libGLESv2/renderer/d3d/ShaderD3D.h b/src/libGLESv2/renderer/d3d/ShaderD3D.h index 40e64cf3..add68089 100644 --- a/src/libGLESv2/renderer/d3d/ShaderD3D.h +++ b/src/libGLESv2/renderer/d3d/ShaderD3D.h @@ -10,6 +10,7 @@ #define LIBGLESV2_RENDERER_SHADERD3D_H_ #include "libGLESv2/renderer/ShaderImpl.h" +#include "libGLESv2/renderer/Workarounds.h" #include "libGLESv2/Shader.h" #include <map> @@ -31,8 +32,9 @@ class ShaderD3D : public ShaderImpl static const ShaderD3D *makeShaderD3D(const ShaderImpl *impl); // ShaderImpl implementation - const std::string &getInfoLog() const { return mInfoLog; } - const std::string &getTranslatedSource() const { return mHlsl; } + virtual const std::string &getInfoLog() const { return mInfoLog; } + virtual const std::string &getTranslatedSource() const { return mHlsl; } + virtual std::string getDebugInfo() const; // D3D-specific methods virtual void uncompile(); @@ -40,6 +42,7 @@ class ShaderD3D : public ShaderImpl unsigned int getUniformRegister(const std::string &uniformName) const; unsigned int getInterfaceBlockRegister(const std::string &blockName) const; int getSemanticIndex(const std::string &attributeName) const; + void appendDebugInfo(const std::string &info) { mDebugInfo += info; } rx::D3DWorkaroundType getD3DWorkarounds() const; int getShaderVersion() const { return mShaderVersion; } @@ -85,6 +88,7 @@ class ShaderD3D : public ShaderImpl std::string mHlsl; std::string mInfoLog; + std::string mDebugInfo; std::map<std::string, unsigned int> mUniformRegisterMap; std::map<std::string, unsigned int> mInterfaceBlockRegisterMap; }; diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.cpp b/src/libGLESv2/renderer/d3d/TextureD3D.cpp index 2650913b..bbe1261f 100644 --- a/src/libGLESv2/renderer/d3d/TextureD3D.cpp +++ b/src/libGLESv2/renderer/d3d/TextureD3D.cpp @@ -35,7 +35,8 @@ TextureD3D::TextureD3D(Renderer *renderer) : mRenderer(renderer), mUsage(GL_NONE), mDirtyImages(true), - mImmutable(false) + mImmutable(false), + mTexStorage(NULL) { } @@ -54,13 +55,12 @@ TextureStorage *TextureD3D::getNativeTexture() // ensure the underlying texture is created initializeStorage(false); - TextureStorage *storage = getBaseLevelStorage(); - if (storage) + if (mTexStorage) { updateStorage(); } - return storage; + return mTexStorage; } GLint TextureD3D::getBaseLevelWidth() const @@ -90,17 +90,40 @@ GLenum TextureD3D::getBaseLevelInternalFormat() const return (baseImage ? baseImage->getInternalFormat() : GL_NONE); } -void TextureD3D::setImage(const gl::PixelUnpackState &unpack, GLenum type, const void *pixels, Image *image) +bool TextureD3D::shouldUseSetData(const Image *image) const +{ + if (!mRenderer->getWorkarounds().setDataFasterThanImageUpload) + { + return false; + } + + gl::InternalFormat internalFormat = gl::GetInternalFormatInfo(image->getInternalFormat()); + + // We can only handle full updates for depth-stencil textures, so to avoid complications + // disable them entirely. + if (internalFormat.depthBits > 0 || internalFormat.stencilBits > 0) + { + return false; + } + + // TODO(jmadill): Handle compressed internal formats + return (mTexStorage && !internalFormat.compressed); +} + +gl::Error TextureD3D::setImage(const gl::PixelUnpackState &unpack, GLenum type, const void *pixels, const gl::ImageIndex &index) { + Image *image = getImage(index); + ASSERT(image); + // No-op if (image->getWidth() == 0 || image->getHeight() == 0 || image->getDepth() == 0) { - return; + return gl::Error(GL_NO_ERROR); } // We no longer need the "GLenum format" parameter to TexImage to determine what data format "pixels" contains. // From our image internal format we know how many channels to expect, and "type" gives the format of pixel's components. - const void *pixelData = pixels; + const uint8_t *pixelData = NULL; if (unpack.pixelBuffer.id() != 0) { @@ -110,30 +133,51 @@ void TextureD3D::setImage(const gl::PixelUnpackState &unpack, GLenum type, const // TODO: setImage/subImage is the only place outside of renderer that asks for a buffers raw data. // This functionality should be moved into renderer and the getData method of BufferImpl removed. const void *bufferData = pixelBuffer->getImplementation()->getData(); - pixelData = static_cast<const unsigned char *>(bufferData) + offset; + pixelData = static_cast<const uint8_t *>(bufferData) + offset; + } + else + { + pixelData = static_cast<const uint8_t *>(pixels); } if (pixelData != NULL) { - image->loadData(0, 0, 0, image->getWidth(), image->getHeight(), image->getDepth(), unpack.alignment, type, pixelData); + gl::Error error(GL_NO_ERROR); + + if (shouldUseSetData(image)) + { + error = mTexStorage->setData(index, image, NULL, type, unpack, pixelData); + } + else + { + error = image->loadData(0, 0, 0, image->getWidth(), image->getHeight(), image->getDepth(), unpack.alignment, type, pixelData); + } + + if (error.isError()) + { + return error; + } + mDirtyImages = true; } + + return gl::Error(GL_NO_ERROR); } -bool TextureD3D::subImage(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels, const gl::ImageIndex &index) +gl::Error TextureD3D::subImage(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels, const gl::ImageIndex &index) { - const void *pixelData = pixels; + const uint8_t *pixelData = static_cast<const uint8_t *>(pixels); // CPU readback & copy where direct GPU copy is not supported if (unpack.pixelBuffer.id() != 0) { gl::Buffer *pixelBuffer = unpack.pixelBuffer.get(); - unsigned int offset = reinterpret_cast<unsigned int>(pixels); + uintptr_t offset = reinterpret_cast<uintptr_t>(pixels); // TODO: setImage/subImage is the only place outside of renderer that asks for a buffers raw data. // This functionality should be moved into renderer and the getData method of BufferImpl removed. const void *bufferData = pixelBuffer->getImplementation()->getData(); - pixelData = static_cast<const unsigned char *>(bufferData) + offset; + pixelData = static_cast<const uint8_t *>(bufferData)+offset; } if (pixelData != NULL) @@ -141,32 +185,62 @@ bool TextureD3D::subImage(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei w Image *image = getImage(index); ASSERT(image); - image->loadData(xoffset, yoffset, zoffset, width, height, depth, unpack.alignment, type, pixelData); + gl::Box region(xoffset, yoffset, zoffset, width, height, depth); + if (shouldUseSetData(image)) + { + return mTexStorage->setData(index, image, ®ion, type, unpack, pixelData); + } + + gl::Error error = image->loadData(xoffset, yoffset, zoffset, width, height, depth, unpack.alignment, + type, pixelData); + if (error.isError()) + { + return error; + } + + error = commitRegion(index, region); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } - return true; + return gl::Error(GL_NO_ERROR); } -void TextureD3D::setCompressedImage(GLsizei imageSize, const void *pixels, Image *image) +gl::Error TextureD3D::setCompressedImage(GLsizei imageSize, const void *pixels, Image *image) { if (pixels != NULL) { - image->loadCompressedData(0, 0, 0, image->getWidth(), image->getHeight(), image->getDepth(), pixels); + gl::Error error = image->loadCompressedData(0, 0, 0, image->getWidth(), image->getHeight(), image->getDepth(), pixels); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } + + return gl::Error(GL_NO_ERROR); } -bool TextureD3D::subImageCompressed(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, +gl::Error TextureD3D::subImageCompressed(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels, Image *image) { if (pixels != NULL) { - image->loadCompressedData(xoffset, yoffset, zoffset, width, height, depth, pixels); + gl::Error error = image->loadCompressedData(xoffset, yoffset, zoffset, width, height, depth, pixels); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } - return true; + return gl::Error(GL_NO_ERROR); } bool TextureD3D::isFastUnpackable(const gl::PixelUnpackState &unpack, GLenum sizedInternalFormat) @@ -174,21 +248,28 @@ bool TextureD3D::isFastUnpackable(const gl::PixelUnpackState &unpack, GLenum siz return unpack.pixelBuffer.id() != 0 && mRenderer->supportsFastCopyBufferToTexture(sizedInternalFormat); } -bool TextureD3D::fastUnpackPixels(const gl::PixelUnpackState &unpack, const void *pixels, const gl::Box &destArea, - GLenum sizedInternalFormat, GLenum type, RenderTarget *destRenderTarget) +gl::Error TextureD3D::fastUnpackPixels(const gl::PixelUnpackState &unpack, const void *pixels, const gl::Box &destArea, + GLenum sizedInternalFormat, GLenum type, RenderTarget *destRenderTarget) { + // No-op if (destArea.width <= 0 && destArea.height <= 0 && destArea.depth <= 0) { - return true; + return gl::Error(GL_NO_ERROR); } // In order to perform the fast copy through the shader, we must have the right format, and be able // to create a render target. ASSERT(mRenderer->supportsFastCopyBufferToTexture(sizedInternalFormat)); - unsigned int offset = reinterpret_cast<unsigned int>(pixels); + uintptr_t offset = reinterpret_cast<uintptr_t>(pixels); - return mRenderer->fastCopyBufferToTexture(unpack, offset, destRenderTarget, sizedInternalFormat, type, destArea); + gl::Error error = mRenderer->fastCopyBufferToTexture(unpack, offset, destRenderTarget, sizedInternalFormat, type, destArea); + if (error.isError()) + { + return error; + } + + return gl::Error(GL_NO_ERROR); } GLint TextureD3D::creationLevels(GLsizei width, GLsizei height, GLsizei depth) const @@ -210,10 +291,174 @@ int TextureD3D::mipLevels() const return gl::log2(std::max(std::max(getBaseLevelWidth(), getBaseLevelHeight()), getBaseLevelDepth())) + 1; } +TextureStorage *TextureD3D::getStorage() +{ + ASSERT(mTexStorage); + return mTexStorage; +} + +Image *TextureD3D::getBaseLevelImage() const +{ + return getImage(getImageIndex(0, 0)); +} + +void TextureD3D::generateMipmaps() +{ + GLint mipCount = mipLevels(); + + if (mipCount == 1) + { + return; // no-op + } + + // Set up proper mipmap chain in our Image array. + initMipmapsImages(); + + // We know that all layers have the same dimension, for the texture to be complete + GLint layerCount = static_cast<GLint>(getLayerCount(0)); + + // When making mipmaps with the setData workaround enabled, the texture storage has + // the image data already. For non-render-target storage, we have to pull it out into + // an image layer. + if (mRenderer->getWorkarounds().setDataFasterThanImageUpload && mTexStorage) + { + if (!mTexStorage->isRenderTarget()) + { + // Copy from the storage mip 0 to Image mip 0 + for (GLint layer = 0; layer < layerCount; ++layer) + { + gl::ImageIndex srcIndex = getImageIndex(0, layer); + + Image *image = getImage(srcIndex); + gl::Rectangle area(0, 0, image->getWidth(), image->getHeight()); + image->copy(0, 0, 0, area, srcIndex, mTexStorage); + } + } + else + { + updateStorage(); + } + } + + bool renderableStorage = (mTexStorage && mTexStorage->isRenderTarget()); + + for (GLint layer = 0; layer < layerCount; ++layer) + { + for (GLint mip = 1; mip < mipCount; ++mip) + { + ASSERT(getLayerCount(mip) == layerCount); + + gl::ImageIndex sourceIndex = getImageIndex(mip - 1, layer); + gl::ImageIndex destIndex = getImageIndex(mip, layer); + + if (renderableStorage) + { + // GPU-side mipmapping + mTexStorage->generateMipmap(sourceIndex, destIndex); + } + else + { + // CPU-side mipmapping + mRenderer->generateMipmap(getImage(destIndex), getImage(sourceIndex)); + } + } + } +} + +bool TextureD3D::isBaseImageZeroSize() const +{ + Image *baseImage = getBaseLevelImage(); + + if (!baseImage || baseImage->getWidth() <= 0) + { + return true; + } + + if (!gl::IsCubemapTextureTarget(baseImage->getTarget()) && baseImage->getHeight() <= 0) + { + return true; + } + + if (baseImage->getTarget() == GL_TEXTURE_3D && baseImage->getDepth() <= 0) + { + return true; + } + + if (baseImage->getTarget() == GL_TEXTURE_2D_ARRAY && getLayerCount(0) <= 0) + { + return true; + } + + return false; +} + +gl::Error TextureD3D::ensureRenderTarget() +{ + gl::Error error = initializeStorage(true); + if (error.isError()) + { + return error; + } + + if (!isBaseImageZeroSize()) + { + ASSERT(mTexStorage); + if (!mTexStorage->isRenderTarget()) + { + TextureStorage *newRenderTargetStorage = NULL; + error = createCompleteStorage(true, &newRenderTargetStorage); + if (error.isError()) + { + return error; + } + + error = mTexStorage->copyToStorage(newRenderTargetStorage); + if (error.isError()) + { + SafeDelete(newRenderTargetStorage); + return error; + } + + error = setCompleteTexStorage(newRenderTargetStorage); + if (error.isError()) + { + SafeDelete(newRenderTargetStorage); + return error; + } + } + } + + return gl::Error(GL_NO_ERROR); +} + +bool TextureD3D::canCreateRenderTargetForImage(const gl::ImageIndex &index) const +{ + rx::Image *image = getImage(index); + bool levelsComplete = (isImageComplete(index) && isImageComplete(getImageIndex(0, 0))); + return (image->isRenderableFormat() && levelsComplete); +} + +gl::Error TextureD3D::commitRegion(const gl::ImageIndex &index, const gl::Box ®ion) +{ + if (mTexStorage) + { + ASSERT(isValidIndex(index)); + Image *image = getImage(index); + ImageD3D *imageD3D = ImageD3D::makeImageD3D(image); + gl::Error error = imageD3D->copyToStorage(mTexStorage, index, region); + if (error.isError()) + { + return error; + } + + image->markClean(); + } + + return gl::Error(GL_NO_ERROR); +} TextureD3D_2D::TextureD3D_2D(Renderer *renderer) - : TextureD3D(renderer), - mTexStorage(NULL) + : TextureD3D(renderer) { for (int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i) { @@ -292,7 +537,9 @@ bool TextureD3D_2D::isDepth(GLint level) const return gl::GetInternalFormatInfo(getInternalFormat(level)).depthBits > 0; } -void TextureD3D_2D::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_2D::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, + GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, + const void *pixels) { ASSERT(target == GL_TEXTURE_2D && depth == 1); @@ -302,142 +549,209 @@ void TextureD3D_2D::setImage(GLenum target, GLint level, GLsizei width, GLsizei redefineImage(level, sizedInternalFormat, width, height); + gl::ImageIndex index = gl::ImageIndex::Make2D(level); + // Attempt a fast gpu copy of the pixel data to the surface if (isFastUnpackable(unpack, sizedInternalFormat) && isLevelComplete(level)) { - gl::ImageIndex index = gl::ImageIndex::Make2D(level); - // Will try to create RT storage if it does not exist - RenderTarget *destRenderTarget = getRenderTarget(index); + RenderTarget *destRenderTarget = NULL; + gl::Error error = getRenderTarget(index, &destRenderTarget); + if (error.isError()) + { + return error; + } + gl::Box destArea(0, 0, 0, getWidth(level), getHeight(level), 1); - if (destRenderTarget && fastUnpackPixels(unpack, pixels, destArea, sizedInternalFormat, type, destRenderTarget)) + error = fastUnpackPixels(unpack, pixels, destArea, sizedInternalFormat, type, destRenderTarget); + if (error.isError()) { - // Ensure we don't overwrite our newly initialized data - mImageArray[level]->markClean(); - - fastUnpacked = true; + return error; } + + // Ensure we don't overwrite our newly initialized data + mImageArray[level]->markClean(); + + fastUnpacked = true; } if (!fastUnpacked) { - TextureD3D::setImage(unpack, type, pixels, mImageArray[level]); + gl::Error error = TextureD3D::setImage(unpack, type, pixels, index); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2D::setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_2D::setCompressedImage(GLenum target, GLint level, GLenum format, + GLsizei width, GLsizei height, GLsizei depth, + GLsizei imageSize, const void *pixels) { ASSERT(target == GL_TEXTURE_2D && depth == 1); // compressed formats don't have separate sized internal formats-- we can just use the compressed format directly redefineImage(level, format, width, height); - TextureD3D::setCompressedImage(imageSize, pixels, mImageArray[level]); + return TextureD3D::setCompressedImage(imageSize, pixels, mImageArray[level]); } -void TextureD3D_2D::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_2D::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, + const gl::PixelUnpackState &unpack, const void *pixels) { ASSERT(target == GL_TEXTURE_2D && depth == 1 && zoffset == 0); bool fastUnpacked = false; gl::ImageIndex index = gl::ImageIndex::Make2D(level); + gl::Box destArea(xoffset, yoffset, 0, width, height, 1); if (isFastUnpackable(unpack, getInternalFormat(level)) && isLevelComplete(level)) { - RenderTarget *renderTarget = getRenderTarget(index); - gl::Box destArea(xoffset, yoffset, 0, width, height, 1); - - if (renderTarget && fastUnpackPixels(unpack, pixels, destArea, getInternalFormat(level), type, renderTarget)) + RenderTarget *renderTarget = NULL; + gl::Error error = getRenderTarget(index, &renderTarget); + if (error.isError()) { - // Ensure we don't overwrite our newly initialized data - mImageArray[level]->markClean(); + return error; + } - fastUnpacked = true; + error = fastUnpackPixels(unpack, pixels, destArea, getInternalFormat(level), type, renderTarget); + if (error.isError()) + { + return error; } + + // Ensure we don't overwrite our newly initialized data + mImageArray[level]->markClean(); + + fastUnpacked = true; } - if (!fastUnpacked && TextureD3D::subImage(xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels, index)) + if (!fastUnpacked) { - commitRect(level, xoffset, yoffset, width, height); + return TextureD3D::subImage(xoffset, yoffset, 0, width, height, 1, format, type, + unpack, pixels, index); } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2D::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_2D::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, + GLsizei imageSize, const void *pixels) { ASSERT(target == GL_TEXTURE_2D && depth == 1 && zoffset == 0); - if (TextureD3D::subImageCompressed(xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels, mImageArray[level])) + gl::Error error = TextureD3D::subImageCompressed(xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels, mImageArray[level]); + if (error.isError()) { - commitRect(level, xoffset, yoffset, width, height); + return error; } + + gl::ImageIndex index = gl::ImageIndex::Make2D(level); + gl::Box region(xoffset, yoffset, 0, width, height, 1); + return commitRegion(index, region); } -void TextureD3D_2D::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_2D::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, + gl::Framebuffer *source) { ASSERT(target == GL_TEXTURE_2D); GLenum sizedInternalFormat = gl::GetSizedInternalFormat(format, GL_UNSIGNED_BYTE); redefineImage(level, sizedInternalFormat, width, height); - if (!mImageArray[level]->isRenderableFormat()) + gl::Rectangle sourceRect(x, y, width, height); + gl::ImageIndex index = gl::ImageIndex::Make2D(level); + + if (!canCreateRenderTargetForImage(index)) { - mImageArray[level]->copy(0, 0, 0, x, y, width, height, source); + gl::Error error = mImageArray[level]->copy(0, 0, 0, sourceRect, source); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } else { - ensureRenderTarget(); + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } + mImageArray[level]->markClean(); if (width != 0 && height != 0 && isValidLevel(level)) { - gl::Rectangle sourceRect; - sourceRect.x = x; - sourceRect.width = width; - sourceRect.y = y; - sourceRect.height = height; - - mRenderer->copyImage2D(source, sourceRect, format, 0, 0, mTexStorage, level); + gl::Error error = mRenderer->copyImage2D(source, sourceRect, format, 0, 0, mTexStorage, level); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) { ASSERT(target == GL_TEXTURE_2D && zoffset == 0); // can only make our texture storage to a render target if level 0 is defined (with a width & height) and // the current level we're copying to is defined (with appropriate format, width & height) - bool canCreateRenderTarget = isLevelComplete(level) && isLevelComplete(0); - if (!mImageArray[level]->isRenderableFormat() || (!mTexStorage && !canCreateRenderTarget)) + gl::Rectangle sourceRect(x, y, width, height); + gl::ImageIndex index = gl::ImageIndex::Make2D(level); + + if (!canCreateRenderTargetForImage(index)) { - mImageArray[level]->copy(xoffset, yoffset, 0, x, y, width, height, source); + gl::Error error = mImageArray[level]->copy(xoffset, yoffset, 0, sourceRect, source); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } else { - ensureRenderTarget(); + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } if (isValidLevel(level)) { - updateStorageLevel(level); - - gl::Rectangle sourceRect; - sourceRect.x = x; - sourceRect.width = width; - sourceRect.y = y; - sourceRect.height = height; + error = updateStorageLevel(level); + if (error.isError()) + { + return error; + } - mRenderer->copyImage2D(source, sourceRect, - gl::GetInternalFormatInfo(getBaseLevelInternalFormat()).format, - xoffset, yoffset, mTexStorage, level); + error = mRenderer->copyImage2D(source, sourceRect, + gl::GetInternalFormatInfo(getBaseLevelInternalFormat()).format, + xoffset, yoffset, mTexStorage, level); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2D::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +gl::Error TextureD3D_2D::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { ASSERT(target == GL_TEXTURE_2D && depth == 1); @@ -453,11 +767,20 @@ void TextureD3D_2D::storage(GLenum target, GLsizei levels, GLenum internalformat mImageArray[level]->redefine(mRenderer, GL_TEXTURE_2D, GL_NONE, 0, 0, 0, true); } - mImmutable = true; - + // TODO(geofflang): Verify storage creation had no errors bool renderTarget = IsRenderTargetUsage(mUsage); TextureStorage *storage = mRenderer->createTextureStorage2D(internalformat, renderTarget, width, height, levels); - setCompleteTexStorage(storage); + + gl::Error error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + + mImmutable = true; + + return gl::Error(GL_NO_ERROR); } void TextureD3D_2D::bindTexImage(egl::Surface *surface) @@ -489,7 +812,7 @@ void TextureD3D_2D::releaseTexImage() } } -void TextureD3D_2D::generateMipmaps() +void TextureD3D_2D::initMipmapsImages() { // Purge array levels 1 through q and reset them to represent the generated mipmap levels. int levelCount = mipLevels(); @@ -499,42 +822,32 @@ void TextureD3D_2D::generateMipmaps() std::max(getBaseLevelWidth() >> level, 1), std::max(getBaseLevelHeight() >> level, 1)); } - - if (mTexStorage && mTexStorage->isRenderTarget()) - { - mTexStorage->generateMipmaps(); - for (int level = 1; level < levelCount; level++) - { - mImageArray[level]->markClean(); - } - } - else - { - for (int level = 1; level < levelCount; level++) - { - mRenderer->generateMipmap(mImageArray[level], mImageArray[level - 1]); - } - } } unsigned int TextureD3D_2D::getRenderTargetSerial(const gl::ImageIndex &index) { ASSERT(!index.hasLayer()); - return (ensureRenderTarget() ? mTexStorage->getRenderTargetSerial(index) : 0); + return (!ensureRenderTarget().isError() ? mTexStorage->getRenderTargetSerial(index) : 0); } -RenderTarget *TextureD3D_2D::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureD3D_2D::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { ASSERT(!index.hasLayer()); // ensure the underlying texture is created - if (!ensureRenderTarget()) + gl::Error error = ensureRenderTarget(); + if (error.isError()) { - return NULL; + return error; } - updateStorageLevel(index.mipIndex); - return mTexStorage->getRenderTarget(index); + error = updateStorageLevel(index.mipIndex); + if (error.isError()) + { + return error; + } + + return mTexStorage->getRenderTarget(index, outRT); } bool TextureD3D_2D::isValidLevel(int level) const @@ -586,31 +899,55 @@ bool TextureD3D_2D::isLevelComplete(int level) const return true; } +bool TextureD3D_2D::isImageComplete(const gl::ImageIndex &index) const +{ + return isLevelComplete(index.mipIndex); +} + // Constructs a native texture resource from the texture images -void TextureD3D_2D::initializeStorage(bool renderTarget) +gl::Error TextureD3D_2D::initializeStorage(bool renderTarget) { // Only initialize the first time this texture is used as a render target or shader resource if (mTexStorage) { - return; + return gl::Error(GL_NO_ERROR); } // do not attempt to create storage for nonexistant data if (!isLevelComplete(0)) { - return; + return gl::Error(GL_NO_ERROR); } bool createRenderTarget = (renderTarget || IsRenderTargetUsage(mUsage)); - setCompleteTexStorage(createCompleteStorage(createRenderTarget)); + TextureStorage *storage = NULL; + gl::Error error = createCompleteStorage(createRenderTarget, &storage); + if (error.isError()) + { + return error; + } + + error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + ASSERT(mTexStorage); // flush image data to the storage - updateStorage(); + error = updateStorage(); + if (error.isError()) + { + return error; + } + + return gl::Error(GL_NO_ERROR); } -TextureStorage *TextureD3D_2D::createCompleteStorage(bool renderTarget) const +gl::Error TextureD3D_2D::createCompleteStorage(bool renderTarget, TextureStorage **outTexStorage) const { GLsizei width = getBaseLevelWidth(); GLsizei height = getBaseLevelHeight(); @@ -621,26 +958,35 @@ TextureStorage *TextureD3D_2D::createCompleteStorage(bool renderTarget) const // use existing storage level count, when previously specified by TexStorage*D GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(width, height, 1)); - return mRenderer->createTextureStorage2D(internalFormat, renderTarget, width, height, levels); + // TODO(geofflang): Determine if the texture creation succeeded + *outTexStorage = mRenderer->createTextureStorage2D(internalFormat, renderTarget, width, height, levels); + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) +gl::Error TextureD3D_2D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) { - SafeDelete(mTexStorage); - mTexStorage = newCompleteTexStorage; - - if (mTexStorage && mTexStorage->isManaged()) + if (newCompleteTexStorage && newCompleteTexStorage->isManaged()) { - for (int level = 0; level < mTexStorage->getLevelCount(); level++) + for (int level = 0; level < newCompleteTexStorage->getLevelCount(); level++) { - mImageArray[level]->setManagedSurface2D(mTexStorage, level); + gl::Error error = mImageArray[level]->setManagedSurface2D(newCompleteTexStorage, level); + if (error.isError()) + { + return error; + } } } + SafeDelete(mTexStorage); + mTexStorage = newCompleteTexStorage; + mDirtyImages = true; + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2D::updateStorage() +gl::Error TextureD3D_2D::updateStorage() { ASSERT(mTexStorage != NULL); GLint storageLevels = mTexStorage->getLevelCount(); @@ -648,54 +994,34 @@ void TextureD3D_2D::updateStorage() { if (mImageArray[level]->isDirty() && isLevelComplete(level)) { - updateStorageLevel(level); - } - } -} - -bool TextureD3D_2D::ensureRenderTarget() -{ - initializeStorage(true); - - if (getBaseLevelWidth() > 0 && getBaseLevelHeight() > 0) - { - ASSERT(mTexStorage); - if (!mTexStorage->isRenderTarget()) - { - TextureStorage *newRenderTargetStorage = createCompleteStorage(true); - - if (!mRenderer->copyToRenderTarget2D(newRenderTargetStorage, mTexStorage)) + gl::Error error = updateStorageLevel(level); + if (error.isError()) { - delete newRenderTargetStorage; - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } - - setCompleteTexStorage(newRenderTargetStorage); } } - return (mTexStorage && mTexStorage->isRenderTarget()); -} - -TextureStorage *TextureD3D_2D::getBaseLevelStorage() -{ - return mTexStorage; + return gl::Error(GL_NO_ERROR); } -const ImageD3D *TextureD3D_2D::getBaseLevelImage() const -{ - return mImageArray[0]; -} - -void TextureD3D_2D::updateStorageLevel(int level) +gl::Error TextureD3D_2D::updateStorageLevel(int level) { ASSERT(level <= (int)ArraySize(mImageArray) && mImageArray[level] != NULL); ASSERT(isLevelComplete(level)); if (mImageArray[level]->isDirty()) { - commitRect(level, 0, 0, getWidth(level), getHeight(level)); + gl::ImageIndex index = gl::ImageIndex::Make2D(level); + gl::Box region(0, 0, 0, getWidth(level), getHeight(level), 1); + gl::Error error = commitRegion(index, region); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } void TextureD3D_2D::redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height) @@ -727,22 +1053,25 @@ void TextureD3D_2D::redefineImage(GLint level, GLenum internalformat, GLsizei wi } } -void TextureD3D_2D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) +gl::ImageIndexIterator TextureD3D_2D::imageIterator() const { - if (isValidLevel(level)) - { - ImageD3D *image = mImageArray[level]; - if (image->copyToStorage2D(mTexStorage, level, xoffset, yoffset, width, height)) - { - image->markClean(); - } - } + return gl::ImageIndexIterator::Make2D(0, mTexStorage->getLevelCount()); } +gl::ImageIndex TextureD3D_2D::getImageIndex(GLint mip, GLint /*layer*/) const +{ + // "layer" does not apply to 2D Textures. + return gl::ImageIndex::Make2D(mip); +} + +bool TextureD3D_2D::isValidIndex(const gl::ImageIndex &index) const +{ + return (mTexStorage && index.type == GL_TEXTURE_2D && + index.mipIndex >= 0 && index.mipIndex < mTexStorage->getLevelCount()); +} TextureD3D_Cube::TextureD3D_Cube(Renderer *renderer) - : TextureD3D(renderer), - mTexStorage(NULL) + : TextureD3D(renderer) { for (int i = 0; i < 6; i++) { @@ -802,19 +1131,23 @@ bool TextureD3D_Cube::isDepth(GLint level, GLint layer) const return gl::GetInternalFormatInfo(getInternalFormat(level, layer)).depthBits > 0; } -void TextureD3D_Cube::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_Cube::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, + GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, + const void *pixels) { ASSERT(depth == 1); - int faceIndex = gl::TextureCubeMap::targetToLayerIndex(target); GLenum sizedInternalFormat = gl::GetSizedInternalFormat(internalFormat, type); + gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level); - redefineImage(faceIndex, level, sizedInternalFormat, width, height); + redefineImage(index.layerIndex, level, sizedInternalFormat, width, height); - TextureD3D::setImage(unpack, type, pixels, mImageArray[faceIndex][level]); + return TextureD3D::setImage(unpack, type, pixels, index); } -void TextureD3D_Cube::setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_Cube::setCompressedImage(GLenum target, GLint level, GLenum format, + GLsizei width, GLsizei height, GLsizei depth, + GLsizei imageSize, const void *pixels) { ASSERT(depth == 1); @@ -823,101 +1156,129 @@ void TextureD3D_Cube::setCompressedImage(GLenum target, GLint level, GLenum form redefineImage(faceIndex, level, format, width, height); - TextureD3D::setCompressedImage(imageSize, pixels, mImageArray[faceIndex][level]); + return TextureD3D::setCompressedImage(imageSize, pixels, mImageArray[faceIndex][level]); } -void TextureD3D_Cube::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_Cube::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, + const gl::PixelUnpackState &unpack, const void *pixels) { ASSERT(depth == 1 && zoffset == 0); - - int faceIndex = gl::TextureCubeMap::targetToLayerIndex(target); - gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level); - if (TextureD3D::subImage(xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels, index)) - { - commitRect(faceIndex, level, xoffset, yoffset, width, height); - } + return TextureD3D::subImage(xoffset, yoffset, 0, width, height, 1, format, type, unpack, pixels, index); } -void TextureD3D_Cube::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_Cube::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, + GLsizei imageSize, const void *pixels) { ASSERT(depth == 1 && zoffset == 0); - int faceIndex = gl::TextureCubeMap::targetToLayerIndex(target); + gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level); - if (TextureD3D::subImageCompressed(xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels, mImageArray[faceIndex][level])) + gl::Error error = TextureD3D::subImageCompressed(xoffset, yoffset, 0, width, height, 1, format, imageSize, pixels, mImageArray[index.layerIndex][level]); + if (error.isError()) { - commitRect(faceIndex, level, xoffset, yoffset, width, height); + return error; } + + gl::Box region(xoffset, yoffset, 0, width, height, 1); + return commitRegion(index, region); } -void TextureD3D_Cube::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_Cube::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, + GLsizei width, GLsizei height, gl::Framebuffer *source) { int faceIndex = gl::TextureCubeMap::targetToLayerIndex(target); GLenum sizedInternalFormat = gl::GetSizedInternalFormat(format, GL_UNSIGNED_BYTE); redefineImage(faceIndex, level, sizedInternalFormat, width, height); - if (!mImageArray[faceIndex][level]->isRenderableFormat()) + gl::Rectangle sourceRect(x, y, width, height); + gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level); + + if (!canCreateRenderTargetForImage(index)) { - mImageArray[faceIndex][level]->copy(0, 0, 0, x, y, width, height, source); + gl::Error error = mImageArray[faceIndex][level]->copy(0, 0, 0, sourceRect, source); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } else { - ensureRenderTarget(); + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } + mImageArray[faceIndex][level]->markClean(); ASSERT(width == height); if (width > 0 && isValidFaceLevel(faceIndex, level)) { - gl::Rectangle sourceRect; - sourceRect.x = x; - sourceRect.width = width; - sourceRect.y = y; - sourceRect.height = height; - - mRenderer->copyImageCube(source, sourceRect, format, 0, 0, mTexStorage, target, level); + error = mRenderer->copyImageCube(source, sourceRect, format, 0, 0, mTexStorage, target, level); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_Cube::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_Cube::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) { int faceIndex = gl::TextureCubeMap::targetToLayerIndex(target); - // We can only make our texture storage to a render target if the level we're copying *to* is complete - // and the base level is cube-complete. The base level must be cube complete (common case) because we cannot - // rely on the "getBaseLevel*" methods reliably otherwise. - bool canCreateRenderTarget = isFaceLevelComplete(faceIndex, level) && isCubeComplete(); + gl::Rectangle sourceRect(x, y, width, height); + gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level); - if (!mImageArray[faceIndex][level]->isRenderableFormat() || (!mTexStorage && !canCreateRenderTarget)) + if (!canCreateRenderTargetForImage(index)) { - mImageArray[faceIndex][level]->copy(0, 0, 0, x, y, width, height, source); + gl::Error error =mImageArray[faceIndex][level]->copy(0, 0, 0, sourceRect, source); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } else { - ensureRenderTarget(); + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } if (isValidFaceLevel(faceIndex, level)) { - updateStorageFaceLevel(faceIndex, level); - - gl::Rectangle sourceRect; - sourceRect.x = x; - sourceRect.width = width; - sourceRect.y = y; - sourceRect.height = height; + error = updateStorageFaceLevel(faceIndex, level); + if (error.isError()) + { + return error; + } - mRenderer->copyImageCube(source, sourceRect, gl::GetInternalFormatInfo(getBaseLevelInternalFormat()).format, - xoffset, yoffset, mTexStorage, target, level); + error = mRenderer->copyImageCube(source, sourceRect, gl::GetInternalFormatInfo(getBaseLevelInternalFormat()).format, + xoffset, yoffset, mTexStorage, target, level); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_Cube::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +gl::Error TextureD3D_Cube::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { ASSERT(width == height); ASSERT(depth == 1); @@ -939,11 +1300,20 @@ void TextureD3D_Cube::storage(GLenum target, GLsizei levels, GLenum internalform } } - mImmutable = true; - + // TODO(geofflang): Verify storage creation had no errors bool renderTarget = IsRenderTargetUsage(mUsage); TextureStorage *storage = mRenderer->createTextureStorageCube(internalformat, renderTarget, width, levels); - setCompleteTexStorage(storage); + + gl::Error error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + + mImmutable = true; + + return gl::Error(GL_NO_ERROR); } // Tests for cube texture completeness. [OpenGL ES 2.0.24] section 3.7.10 page 81. @@ -984,7 +1354,7 @@ void TextureD3D_Cube::releaseTexImage() } -void TextureD3D_Cube::generateMipmaps() +void TextureD3D_Cube::initMipmapsImages() { // Purge array levels 1 through q and reset them to represent the generated mipmap levels. int levelCount = mipLevels(); @@ -996,74 +1366,76 @@ void TextureD3D_Cube::generateMipmaps() redefineImage(faceIndex, level, mImageArray[faceIndex][0]->getInternalFormat(), faceLevelSize, faceLevelSize); } } - - if (mTexStorage && mTexStorage->isRenderTarget()) - { - mTexStorage->generateMipmaps(); - - for (int faceIndex = 0; faceIndex < 6; faceIndex++) - { - for (int level = 1; level < levelCount; level++) - { - mImageArray[faceIndex][level]->markClean(); - } - } - } - else - { - for (int faceIndex = 0; faceIndex < 6; faceIndex++) - { - for (int level = 1; level < levelCount; level++) - { - mRenderer->generateMipmap(mImageArray[faceIndex][level], mImageArray[faceIndex][level - 1]); - } - } - } } unsigned int TextureD3D_Cube::getRenderTargetSerial(const gl::ImageIndex &index) { - return (ensureRenderTarget() ? mTexStorage->getRenderTargetSerial(index) : 0); + return (ensureRenderTarget().isError() ? mTexStorage->getRenderTargetSerial(index) : 0); } -RenderTarget *TextureD3D_Cube::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureD3D_Cube::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { ASSERT(gl::IsCubemapTextureTarget(index.type)); // ensure the underlying texture is created - if (!ensureRenderTarget()) + gl::Error error = ensureRenderTarget(); + if (error.isError()) { - return NULL; + return error; } - updateStorageFaceLevel(index.layerIndex, index.mipIndex); - return mTexStorage->getRenderTarget(index); + error = updateStorageFaceLevel(index.layerIndex, index.mipIndex); + if (error.isError()) + { + return error; + } + + return mTexStorage->getRenderTarget(index, outRT); } -void TextureD3D_Cube::initializeStorage(bool renderTarget) +gl::Error TextureD3D_Cube::initializeStorage(bool renderTarget) { // Only initialize the first time this texture is used as a render target or shader resource if (mTexStorage) { - return; + return gl::Error(GL_NO_ERROR); } // do not attempt to create storage for nonexistant data if (!isFaceLevelComplete(0, 0)) { - return; + return gl::Error(GL_NO_ERROR); } bool createRenderTarget = (renderTarget || IsRenderTargetUsage(mUsage)); - setCompleteTexStorage(createCompleteStorage(createRenderTarget)); + TextureStorage *storage = NULL; + gl::Error error = createCompleteStorage(createRenderTarget, &storage); + if (error.isError()) + { + return error; + } + + error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + ASSERT(mTexStorage); // flush image data to the storage - updateStorage(); + error = updateStorage(); + if (error.isError()) + { + return error; + } + + return gl::Error(GL_NO_ERROR); } -TextureStorage *TextureD3D_Cube::createCompleteStorage(bool renderTarget) const +gl::Error TextureD3D_Cube::createCompleteStorage(bool renderTarget, TextureStorage **outTexStorage) const { GLsizei size = getBaseLevelWidth(); @@ -1072,29 +1444,37 @@ TextureStorage *TextureD3D_Cube::createCompleteStorage(bool renderTarget) const // use existing storage level count, when previously specified by TexStorage*D GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(size, size, 1)); - return mRenderer->createTextureStorageCube(getBaseLevelInternalFormat(), renderTarget, size, levels); + // TODO (geofflang): detect if storage creation succeeded + *outTexStorage = mRenderer->createTextureStorageCube(getBaseLevelInternalFormat(), renderTarget, size, levels); + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_Cube::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) +gl::Error TextureD3D_Cube::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) { - SafeDelete(mTexStorage); - mTexStorage = newCompleteTexStorage; - - if (mTexStorage && mTexStorage->isManaged()) + if (newCompleteTexStorage && newCompleteTexStorage->isManaged()) { for (int faceIndex = 0; faceIndex < 6; faceIndex++) { - for (int level = 0; level < mTexStorage->getLevelCount(); level++) + for (int level = 0; level < newCompleteTexStorage->getLevelCount(); level++) { - mImageArray[faceIndex][level]->setManagedSurfaceCube(mTexStorage, faceIndex, level); + gl::Error error = mImageArray[faceIndex][level]->setManagedSurfaceCube(newCompleteTexStorage, faceIndex, level); + if (error.isError()) + { + return error; + } } } } + SafeDelete(mTexStorage); + mTexStorage = newCompleteTexStorage; + mDirtyImages = true; + return gl::Error(GL_NO_ERROR); } -void TextureD3D_Cube::updateStorage() +gl::Error TextureD3D_Cube::updateStorage() { ASSERT(mTexStorage != NULL); GLint storageLevels = mTexStorage->getLevelCount(); @@ -1104,46 +1484,16 @@ void TextureD3D_Cube::updateStorage() { if (mImageArray[face][level]->isDirty() && isFaceLevelComplete(face, level)) { - updateStorageFaceLevel(face, level); - } - } - } -} - -bool TextureD3D_Cube::ensureRenderTarget() -{ - initializeStorage(true); - - if (getBaseLevelWidth() > 0) - { - ASSERT(mTexStorage); - if (!mTexStorage->isRenderTarget()) - { - TextureStorage *newRenderTargetStorage = createCompleteStorage(true); - - if (!mRenderer->copyToRenderTargetCube(newRenderTargetStorage, mTexStorage)) - { - delete newRenderTargetStorage; - return gl::error(GL_OUT_OF_MEMORY, false); + gl::Error error = updateStorageFaceLevel(face, level); + if (error.isError()) + { + return error; + } } - - setCompleteTexStorage(newRenderTargetStorage); } } - return (mTexStorage && mTexStorage->isRenderTarget()); -} - -TextureStorage *TextureD3D_Cube::getBaseLevelStorage() -{ - return mTexStorage; -} - -const ImageD3D *TextureD3D_Cube::getBaseLevelImage() const -{ - // Note: if we are not cube-complete, there is no single base level image that can describe all - // cube faces, so this method is only well-defined for a cube-complete base level. - return mImageArray[0][0]; + return gl::Error(GL_NO_ERROR); } bool TextureD3D_Cube::isValidFaceLevel(int faceIndex, int level) const @@ -1191,15 +1541,29 @@ bool TextureD3D_Cube::isFaceLevelComplete(int faceIndex, int level) const return true; } -void TextureD3D_Cube::updateStorageFaceLevel(int faceIndex, int level) +bool TextureD3D_Cube::isImageComplete(const gl::ImageIndex &index) const +{ + return isFaceLevelComplete(index.layerIndex, index.mipIndex); +} + +gl::Error TextureD3D_Cube::updateStorageFaceLevel(int faceIndex, int level) { ASSERT(level >= 0 && faceIndex < 6 && level < (int)ArraySize(mImageArray[faceIndex]) && mImageArray[faceIndex][level] != NULL); ImageD3D *image = mImageArray[faceIndex][level]; if (image->isDirty()) { - commitRect(faceIndex, level, 0, 0, image->getWidth(), image->getHeight()); + GLenum faceTarget = gl::TextureCubeMap::layerIndexToTarget(faceIndex); + gl::ImageIndex index = gl::ImageIndex::MakeCube(faceTarget, level); + gl::Box region(0, 0, 0, image->getWidth(), image->getHeight(), 1); + gl::Error error = commitRegion(index, region); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } void TextureD3D_Cube::redefineImage(int faceIndex, GLint level, GLenum internalformat, GLsizei width, GLsizei height) @@ -1235,20 +1599,25 @@ void TextureD3D_Cube::redefineImage(int faceIndex, GLint level, GLenum internalf } } -void TextureD3D_Cube::commitRect(int faceIndex, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) +gl::ImageIndexIterator TextureD3D_Cube::imageIterator() const { - if (isValidFaceLevel(faceIndex, level)) - { - ImageD3D *image = mImageArray[faceIndex][level]; - if (image->copyToStorageCube(mTexStorage, faceIndex, level, xoffset, yoffset, width, height)) - image->markClean(); - } + return gl::ImageIndexIterator::MakeCube(0, mTexStorage->getLevelCount()); +} + +gl::ImageIndex TextureD3D_Cube::getImageIndex(GLint mip, GLint layer) const +{ + // The "layer" of the image index corresponds to the cube face + return gl::ImageIndex::MakeCube(gl::TextureCubeMap::layerIndexToTarget(layer), mip); } +bool TextureD3D_Cube::isValidIndex(const gl::ImageIndex &index) const +{ + return (mTexStorage && gl::IsCubemapTextureTarget(index.type) && + index.mipIndex >= 0 && index.mipIndex < mTexStorage->getLevelCount()); +} TextureD3D_3D::TextureD3D_3D(Renderer *renderer) - : TextureD3D(renderer), - mTexStorage(NULL) + : TextureD3D(renderer) { for (int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i) { @@ -1327,7 +1696,9 @@ bool TextureD3D_3D::isDepth(GLint level) const return gl::GetInternalFormatInfo(getInternalFormat(level)).depthBits > 0; } -void TextureD3D_3D::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_3D::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, + GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, + const void *pixels) { ASSERT(target == GL_TEXTURE_3D); GLenum sizedInternalFormat = gl::GetSizedInternalFormat(internalFormat, type); @@ -1336,40 +1707,60 @@ void TextureD3D_3D::setImage(GLenum target, GLint level, GLsizei width, GLsizei bool fastUnpacked = false; + gl::ImageIndex index = gl::ImageIndex::Make3D(level); + // Attempt a fast gpu copy of the pixel data to the surface if the app bound an unpack buffer if (isFastUnpackable(unpack, sizedInternalFormat)) { // Will try to create RT storage if it does not exist - gl::ImageIndex index = gl::ImageIndex::Make3D(level); - RenderTarget *destRenderTarget = getRenderTarget(index); + RenderTarget *destRenderTarget = NULL; + gl::Error error = getRenderTarget(index, &destRenderTarget); + if (error.isError()) + { + return error; + } + gl::Box destArea(0, 0, 0, getWidth(level), getHeight(level), getDepth(level)); - if (destRenderTarget && fastUnpackPixels(unpack, pixels, destArea, sizedInternalFormat, type, destRenderTarget)) + error = fastUnpackPixels(unpack, pixels, destArea, sizedInternalFormat, type, destRenderTarget); + if (error.isError()) { - // Ensure we don't overwrite our newly initialized data - mImageArray[level]->markClean(); - - fastUnpacked = true; + return error; } + + // Ensure we don't overwrite our newly initialized data + mImageArray[level]->markClean(); + + fastUnpacked = true; } if (!fastUnpacked) { - TextureD3D::setImage(unpack, type, pixels, mImageArray[level]); + gl::Error error = TextureD3D::setImage(unpack, type, pixels, index); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_3D::setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_3D::setCompressedImage(GLenum target, GLint level, GLenum format, + GLsizei width, GLsizei height,GLsizei depth, + GLsizei imageSize, const void *pixels) { ASSERT(target == GL_TEXTURE_3D); // compressed formats don't have separate sized internal formats-- we can just use the compressed format directly redefineImage(level, format, width, height, depth); - TextureD3D::setCompressedImage(imageSize, pixels, mImageArray[level]); + return TextureD3D::setCompressedImage(imageSize, pixels, mImageArray[level]); } -void TextureD3D_3D::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_3D::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, + const gl::PixelUnpackState &unpack, const void *pixels) { ASSERT(target == GL_TEXTURE_3D); @@ -1380,74 +1771,108 @@ void TextureD3D_3D::subImage(GLenum target, GLint level, GLint xoffset, GLint yo // Attempt a fast gpu copy of the pixel data to the surface if the app bound an unpack buffer if (isFastUnpackable(unpack, getInternalFormat(level))) { - RenderTarget *destRenderTarget = getRenderTarget(index); - gl::Box destArea(xoffset, yoffset, zoffset, width, height, depth); - - if (destRenderTarget && fastUnpackPixels(unpack, pixels, destArea, getInternalFormat(level), type, destRenderTarget)) + RenderTarget *destRenderTarget = NULL; + gl::Error error = getRenderTarget(index, &destRenderTarget); + if (error.isError()) { - // Ensure we don't overwrite our newly initialized data - mImageArray[level]->markClean(); + return error; + } - fastUnpacked = true; + gl::Box destArea(xoffset, yoffset, zoffset, width, height, depth); + error = fastUnpackPixels(unpack, pixels, destArea, getInternalFormat(level), type, destRenderTarget); + if (error.isError()) + { + return error; } + + // Ensure we don't overwrite our newly initialized data + mImageArray[level]->markClean(); + + fastUnpacked = true; } - if (!fastUnpacked && TextureD3D::subImage(xoffset, yoffset, zoffset, width, height, depth, format, type, unpack, pixels, index)) + if (!fastUnpacked) { - commitRect(level, xoffset, yoffset, zoffset, width, height, depth); + return TextureD3D::subImage(xoffset, yoffset, zoffset, width, height, depth, format, type, + unpack, pixels, index); } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_3D::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_3D::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, + GLsizei imageSize, const void *pixels) { ASSERT(target == GL_TEXTURE_3D); - if (TextureD3D::subImageCompressed(xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pixels, mImageArray[level])) + gl::Error error = TextureD3D::subImageCompressed(xoffset, yoffset, zoffset, width, height, depth, + format, imageSize, pixels, mImageArray[level]); + if (error.isError()) { - commitRect(level, xoffset, yoffset, zoffset, width, height, depth); + return error; } + + gl::ImageIndex index = gl::ImageIndex::Make3D(level); + gl::Box region(xoffset, yoffset, zoffset, width, height, depth); + return commitRegion(index, region); } -void TextureD3D_3D::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_3D::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, + GLsizei width, GLsizei height, gl::Framebuffer *source) { UNIMPLEMENTED(); + return gl::Error(GL_INVALID_OPERATION, "Copying 3D textures is unimplemented."); } -void TextureD3D_3D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_3D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) { ASSERT(target == GL_TEXTURE_3D); - // can only make our texture storage to a render target if level 0 is defined (with a width & height) and - // the current level we're copying to is defined (with appropriate format, width & height) - bool canCreateRenderTarget = isLevelComplete(level) && isLevelComplete(0); + gl::Rectangle sourceRect(x, y, width, height); + gl::ImageIndex index = gl::ImageIndex::Make3D(level); - if (!mImageArray[level]->isRenderableFormat() || (!mTexStorage && !canCreateRenderTarget)) + if (canCreateRenderTargetForImage(index)) { - mImageArray[level]->copy(xoffset, yoffset, zoffset, x, y, width, height, source); + gl::Error error = mImageArray[level]->copy(xoffset, yoffset, zoffset, sourceRect, source); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } else { - ensureRenderTarget(); + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } if (isValidLevel(level)) { - updateStorageLevel(level); - - gl::Rectangle sourceRect; - sourceRect.x = x; - sourceRect.width = width; - sourceRect.y = y; - sourceRect.height = height; + error = updateStorageLevel(level); + if (error.isError()) + { + return error; + } - mRenderer->copyImage3D(source, sourceRect, - gl::GetInternalFormatInfo(getBaseLevelInternalFormat()).format, - xoffset, yoffset, zoffset, mTexStorage, level); + error = mRenderer->copyImage3D(source, sourceRect, + gl::GetInternalFormatInfo(getBaseLevelInternalFormat()).format, + xoffset, yoffset, zoffset, mTexStorage, level); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_3D::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +gl::Error TextureD3D_3D::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { ASSERT(target == GL_TEXTURE_3D); @@ -1464,11 +1889,20 @@ void TextureD3D_3D::storage(GLenum target, GLsizei levels, GLenum internalformat mImageArray[level]->redefine(mRenderer, GL_TEXTURE_3D, GL_NONE, 0, 0, 0, true); } - mImmutable = true; - + // TODO(geofflang): Verify storage creation had no errors bool renderTarget = IsRenderTargetUsage(mUsage); TextureStorage *storage = mRenderer->createTextureStorage3D(internalformat, renderTarget, width, height, depth, levels); - setCompleteTexStorage(storage); + + gl::Error error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + + mImmutable = true; + + return gl::Error(GL_NO_ERROR); } void TextureD3D_3D::bindTexImage(egl::Surface *surface) @@ -1482,7 +1916,7 @@ void TextureD3D_3D::releaseTexImage() } -void TextureD3D_3D::generateMipmaps() +void TextureD3D_3D::initMipmapsImages() { // Purge array levels 1 through q and reset them to represent the generated mipmap levels. int levelCount = mipLevels(); @@ -1493,74 +1927,85 @@ void TextureD3D_3D::generateMipmaps() std::max(getBaseLevelHeight() >> level, 1), std::max(getBaseLevelDepth() >> level, 1)); } - - if (mTexStorage && mTexStorage->isRenderTarget()) - { - mTexStorage->generateMipmaps(); - - for (int level = 1; level < levelCount; level++) - { - mImageArray[level]->markClean(); - } - } - else - { - for (int level = 1; level < levelCount; level++) - { - mRenderer->generateMipmap(mImageArray[level], mImageArray[level - 1]); - } - } } unsigned int TextureD3D_3D::getRenderTargetSerial(const gl::ImageIndex &index) { - return (ensureRenderTarget() ? mTexStorage->getRenderTargetSerial(index) : 0); + return (!ensureRenderTarget().isError() ? mTexStorage->getRenderTargetSerial(index) : 0); } -RenderTarget *TextureD3D_3D::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureD3D_3D::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { // ensure the underlying texture is created - if (!ensureRenderTarget()) + gl::Error error = ensureRenderTarget(); + if (error.isError()) { - return NULL; + return error; } if (index.hasLayer()) { - updateStorage(); + error = updateStorage(); + if (error.isError()) + { + return error; + } } else { - updateStorageLevel(index.mipIndex); + error = updateStorageLevel(index.mipIndex); + if (error.isError()) + { + return error; + } } - return mTexStorage->getRenderTarget(index); + return mTexStorage->getRenderTarget(index, outRT); } -void TextureD3D_3D::initializeStorage(bool renderTarget) +gl::Error TextureD3D_3D::initializeStorage(bool renderTarget) { // Only initialize the first time this texture is used as a render target or shader resource if (mTexStorage) { - return; + return gl::Error(GL_NO_ERROR); } // do not attempt to create storage for nonexistant data if (!isLevelComplete(0)) { - return; + return gl::Error(GL_NO_ERROR); } bool createRenderTarget = (renderTarget || mUsage == GL_FRAMEBUFFER_ATTACHMENT_ANGLE); - setCompleteTexStorage(createCompleteStorage(createRenderTarget)); + rx::TextureStorage *storage = NULL; + gl::Error error = createCompleteStorage(createRenderTarget, &storage); + if (error.isError()) + { + return error; + } + + error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + ASSERT(mTexStorage); // flush image data to the storage - updateStorage(); + error = updateStorage(); + if (error.isError()) + { + return error; + } + + return gl::Error(GL_NO_ERROR); } -TextureStorage *TextureD3D_3D::createCompleteStorage(bool renderTarget) const +gl::Error TextureD3D_3D::createCompleteStorage(bool renderTarget, TextureStorage **outStorage) const { GLsizei width = getBaseLevelWidth(); GLsizei height = getBaseLevelHeight(); @@ -1572,10 +2017,13 @@ TextureStorage *TextureD3D_3D::createCompleteStorage(bool renderTarget) const // use existing storage level count, when previously specified by TexStorage*D GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(width, height, depth)); - return mRenderer->createTextureStorage3D(internalFormat, renderTarget, width, height, depth, levels); + // TODO: Verify creation of the storage succeeded + *outStorage = mRenderer->createTextureStorage3D(internalFormat, renderTarget, width, height, depth, levels); + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_3D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) +gl::Error TextureD3D_3D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) { SafeDelete(mTexStorage); mTexStorage = newCompleteTexStorage; @@ -1583,9 +2031,11 @@ void TextureD3D_3D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) // We do not support managed 3D storage, as that is D3D9/ES2-only ASSERT(!mTexStorage->isManaged()); + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_3D::updateStorage() +gl::Error TextureD3D_3D::updateStorage() { ASSERT(mTexStorage != NULL); GLint storageLevels = mTexStorage->getLevelCount(); @@ -1593,43 +2043,15 @@ void TextureD3D_3D::updateStorage() { if (mImageArray[level]->isDirty() && isLevelComplete(level)) { - updateStorageLevel(level); - } - } -} - -bool TextureD3D_3D::ensureRenderTarget() -{ - initializeStorage(true); - - if (getBaseLevelWidth() > 0 && getBaseLevelHeight() > 0 && getBaseLevelDepth() > 0) - { - ASSERT(mTexStorage); - if (!mTexStorage->isRenderTarget()) - { - TextureStorage *newRenderTargetStorage = createCompleteStorage(true); - - if (!mRenderer->copyToRenderTarget3D(newRenderTargetStorage, mTexStorage)) + gl::Error error = updateStorageLevel(level); + if (error.isError()) { - delete newRenderTargetStorage; - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } - - setCompleteTexStorage(newRenderTargetStorage); } } - return (mTexStorage && mTexStorage->isRenderTarget()); -} - -TextureStorage *TextureD3D_3D::getBaseLevelStorage() -{ - return mTexStorage; -} - -const ImageD3D *TextureD3D_3D::getBaseLevelImage() const -{ - return mImageArray[0]; + return gl::Error(GL_NO_ERROR); } bool TextureD3D_3D::isValidLevel(int level) const @@ -1685,15 +2107,28 @@ bool TextureD3D_3D::isLevelComplete(int level) const return true; } -void TextureD3D_3D::updateStorageLevel(int level) +bool TextureD3D_3D::isImageComplete(const gl::ImageIndex &index) const +{ + return isLevelComplete(index.mipIndex); +} + +gl::Error TextureD3D_3D::updateStorageLevel(int level) { ASSERT(level >= 0 && level < (int)ArraySize(mImageArray) && mImageArray[level] != NULL); ASSERT(isLevelComplete(level)); if (mImageArray[level]->isDirty()) { - commitRect(level, 0, 0, 0, getWidth(level), getHeight(level), getDepth(level)); + gl::ImageIndex index = gl::ImageIndex::Make3D(level); + gl::Box region(0, 0, 0, getWidth(level), getHeight(level), getDepth(level)); + gl::Error error = commitRegion(index, region); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } void TextureD3D_3D::redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) @@ -1727,22 +2162,26 @@ void TextureD3D_3D::redefineImage(GLint level, GLenum internalformat, GLsizei wi } } -void TextureD3D_3D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) +gl::ImageIndexIterator TextureD3D_3D::imageIterator() const { - if (isValidLevel(level)) - { - ImageD3D *image = mImageArray[level]; - if (image->copyToStorage3D(mTexStorage, level, xoffset, yoffset, zoffset, width, height, depth)) - { - image->markClean(); - } - } + return gl::ImageIndexIterator::Make3D(0, mTexStorage->getLevelCount(), + gl::ImageIndex::ENTIRE_LEVEL, gl::ImageIndex::ENTIRE_LEVEL); } +gl::ImageIndex TextureD3D_3D::getImageIndex(GLint mip, GLint /*layer*/) const +{ + // The "layer" here does not apply to 3D images. We use one Image per mip. + return gl::ImageIndex::Make3D(mip); +} + +bool TextureD3D_3D::isValidIndex(const gl::ImageIndex &index) const +{ + return (mTexStorage && index.type == GL_TEXTURE_3D && + index.mipIndex >= 0 && index.mipIndex < mTexStorage->getLevelCount()); +} TextureD3D_2DArray::TextureD3D_2DArray(Renderer *renderer) - : TextureD3D(renderer), - mTexStorage(NULL) + : TextureD3D(renderer) { for (int level = 0; level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++level) { @@ -1791,11 +2230,6 @@ GLsizei TextureD3D_2DArray::getHeight(GLint level) const return (level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS && mLayerCounts[level] > 0) ? mImageArray[level][0]->getHeight() : 0; } -GLsizei TextureD3D_2DArray::getLayers(GLint level) const -{ - return (level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) ? mLayerCounts[level] : 0; -} - GLenum TextureD3D_2DArray::getInternalFormat(GLint level) const { return (level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS && mLayerCounts[level] > 0) ? mImageArray[level][0]->getInternalFormat() : GL_NONE; @@ -1806,7 +2240,9 @@ bool TextureD3D_2DArray::isDepth(GLint level) const return gl::GetInternalFormatInfo(getInternalFormat(level)).depthBits > 0; } -void TextureD3D_2DArray::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_2DArray::setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, + GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, + const void *pixels) { ASSERT(target == GL_TEXTURE_2D_ARRAY); @@ -1820,11 +2256,20 @@ void TextureD3D_2DArray::setImage(GLenum target, GLint level, GLsizei width, GLs for (int i = 0; i < depth; i++) { const void *layerPixels = pixels ? (reinterpret_cast<const unsigned char*>(pixels) + (inputDepthPitch * i)) : NULL; - TextureD3D::setImage(unpack, type, layerPixels, mImageArray[level][i]); + gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, i); + gl::Error error = TextureD3D::setImage(unpack, type, layerPixels, index); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_2DArray::setCompressedImage(GLenum target, GLint level, GLenum format, + GLsizei width, GLsizei height, GLsizei depth, + GLsizei imageSize, const void *pixels) { ASSERT(target == GL_TEXTURE_2D_ARRAY); @@ -1837,11 +2282,19 @@ void TextureD3D_2DArray::setCompressedImage(GLenum target, GLint level, GLenum f for (int i = 0; i < depth; i++) { const void *layerPixels = pixels ? (reinterpret_cast<const unsigned char*>(pixels) + (inputDepthPitch * i)) : NULL; - TextureD3D::setCompressedImage(imageSize, layerPixels, mImageArray[level][i]); + gl::Error error = TextureD3D::setCompressedImage(imageSize, layerPixels, mImageArray[level][i]); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels) +gl::Error TextureD3D_2DArray::subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, + const gl::PixelUnpackState &unpack, const void *pixels) { ASSERT(target == GL_TEXTURE_2D_ARRAY); @@ -1854,14 +2307,20 @@ void TextureD3D_2DArray::subImage(GLenum target, GLint level, GLint xoffset, GLi const void *layerPixels = pixels ? (reinterpret_cast<const unsigned char*>(pixels) + (inputDepthPitch * i)) : NULL; gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, layer); - if (TextureD3D::subImage(xoffset, yoffset, zoffset, width, height, 1, format, type, unpack, layerPixels, index)) + gl::Error error = TextureD3D::subImage(xoffset, yoffset, zoffset, width, height, 1, format, type, + unpack, layerPixels, index); + if (error.isError()) { - commitRect(level, xoffset, yoffset, layer, width, height); + return error; } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels) +gl::Error TextureD3D_2DArray::subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLsizei depth, GLenum format, + GLsizei imageSize, const void *pixels) { ASSERT(target == GL_TEXTURE_2D_ARRAY); @@ -1873,52 +2332,75 @@ void TextureD3D_2DArray::subImageCompressed(GLenum target, GLint level, GLint xo int layer = zoffset + i; const void *layerPixels = pixels ? (reinterpret_cast<const unsigned char*>(pixels) + (inputDepthPitch * i)) : NULL; - if (TextureD3D::subImageCompressed(xoffset, yoffset, zoffset, width, height, 1, format, imageSize, layerPixels, mImageArray[level][layer])) + gl::Error error = TextureD3D::subImageCompressed(xoffset, yoffset, zoffset, width, height, 1, format, imageSize, layerPixels, mImageArray[level][layer]); + if (error.isError()) + { + return error; + } + + gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, layer); + gl::Box region(xoffset, yoffset, 0, width, height, 1); + error = commitRegion(index, region); + if (error.isError()) { - commitRect(level, xoffset, yoffset, layer, width, height); + return error; } } + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_2DArray::copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) { UNIMPLEMENTED(); + return gl::Error(GL_INVALID_OPERATION, "Copying 2D array textures is unimplemented."); } -void TextureD3D_2DArray::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error TextureD3D_2DArray::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) { ASSERT(target == GL_TEXTURE_2D_ARRAY); - // can only make our texture storage to a render target if level 0 is defined (with a width & height) and - // the current level we're copying to is defined (with appropriate format, width & height) - bool canCreateRenderTarget = isLevelComplete(level) && isLevelComplete(0); + gl::Rectangle sourceRect(x, y, width, height); + gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, zoffset); - if (!mImageArray[level][0]->isRenderableFormat() || (!mTexStorage && !canCreateRenderTarget)) + if (canCreateRenderTargetForImage(index)) { - mImageArray[level][zoffset]->copy(xoffset, yoffset, 0, x, y, width, height, source); + gl::Error error = mImageArray[level][zoffset]->copy(xoffset, yoffset, 0, sourceRect, source); + if (error.isError()) + { + return error; + } + mDirtyImages = true; } else { - ensureRenderTarget(); + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } if (isValidLevel(level)) { - updateStorageLevel(level); - - gl::Rectangle sourceRect; - sourceRect.x = x; - sourceRect.width = width; - sourceRect.y = y; - sourceRect.height = height; + error = updateStorageLevel(level); + if (error.isError()) + { + return error; + } - mRenderer->copyImage2DArray(source, sourceRect, gl::GetInternalFormatInfo(getInternalFormat(0)).format, - xoffset, yoffset, zoffset, mTexStorage, level); + error = mRenderer->copyImage2DArray(source, sourceRect, gl::GetInternalFormatInfo(getInternalFormat(0)).format, + xoffset, yoffset, zoffset, mTexStorage, level); + if (error.isError()) + { + return error; + } } } + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) +gl::Error TextureD3D_2DArray::storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { ASSERT(target == GL_TEXTURE_2D_ARRAY); @@ -1945,11 +2427,20 @@ void TextureD3D_2DArray::storage(GLenum target, GLsizei levels, GLenum internalf } } - mImmutable = true; - + // TODO(geofflang): Verify storage creation had no errors bool renderTarget = IsRenderTargetUsage(mUsage); TextureStorage *storage = mRenderer->createTextureStorage2DArray(internalformat, renderTarget, width, height, depth, levels); - setCompleteTexStorage(storage); + + gl::Error error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + + mImmutable = true; + + return gl::Error(GL_NO_ERROR); } void TextureD3D_2DArray::bindTexImage(egl::Surface *surface) @@ -1963,7 +2454,7 @@ void TextureD3D_2DArray::releaseTexImage() } -void TextureD3D_2DArray::generateMipmaps() +void TextureD3D_2DArray::initMipmapsImages() { int baseWidth = getBaseLevelWidth(); int baseHeight = getBaseLevelHeight(); @@ -1976,76 +2467,78 @@ void TextureD3D_2DArray::generateMipmaps() { redefineImage(level, baseFormat, std::max(baseWidth >> level, 1), std::max(baseHeight >> level, 1), baseDepth); } - - if (mTexStorage && mTexStorage->isRenderTarget()) - { - mTexStorage->generateMipmaps(); - - for (int level = 1; level < levelCount; level++) - { - for (int layer = 0; layer < mLayerCounts[level]; layer++) - { - mImageArray[level][layer]->markClean(); - } - } - } - else - { - for (int level = 1; level < levelCount; level++) - { - for (int layer = 0; layer < mLayerCounts[level]; layer++) - { - mRenderer->generateMipmap(mImageArray[level][layer], mImageArray[level - 1][layer]); - } - } - } } unsigned int TextureD3D_2DArray::getRenderTargetSerial(const gl::ImageIndex &index) { - return (ensureRenderTarget() ? mTexStorage->getRenderTargetSerial(index) : 0); + return (!ensureRenderTarget().isError() ? mTexStorage->getRenderTargetSerial(index) : 0); } -RenderTarget *TextureD3D_2DArray::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureD3D_2DArray::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { // ensure the underlying texture is created - if (!ensureRenderTarget()) + gl::Error error = ensureRenderTarget(); + if (error.isError()) + { + return error; + } + + error = updateStorageLevel(index.mipIndex); + if (error.isError()) { - return NULL; + return error; } - updateStorageLevel(index.mipIndex); - return mTexStorage->getRenderTarget(index); + return mTexStorage->getRenderTarget(index, outRT); } -void TextureD3D_2DArray::initializeStorage(bool renderTarget) +gl::Error TextureD3D_2DArray::initializeStorage(bool renderTarget) { // Only initialize the first time this texture is used as a render target or shader resource if (mTexStorage) { - return; + return gl::Error(GL_NO_ERROR); } // do not attempt to create storage for nonexistant data if (!isLevelComplete(0)) { - return; + return gl::Error(GL_NO_ERROR); } bool createRenderTarget = (renderTarget || mUsage == GL_FRAMEBUFFER_ATTACHMENT_ANGLE); - setCompleteTexStorage(createCompleteStorage(createRenderTarget)); + TextureStorage *storage = NULL; + gl::Error error = createCompleteStorage(createRenderTarget, &storage); + if (error.isError()) + { + return error; + } + + error = setCompleteTexStorage(storage); + if (error.isError()) + { + SafeDelete(storage); + return error; + } + ASSERT(mTexStorage); // flush image data to the storage - updateStorage(); + error = updateStorage(); + if (error.isError()) + { + return error; + } + + return gl::Error(GL_NO_ERROR); } -TextureStorage *TextureD3D_2DArray::createCompleteStorage(bool renderTarget) const +gl::Error TextureD3D_2DArray::createCompleteStorage(bool renderTarget, TextureStorage **outStorage) const { GLsizei width = getBaseLevelWidth(); GLsizei height = getBaseLevelHeight(); - GLsizei depth = getLayers(0); + GLsizei depth = getLayerCount(0); GLenum internalFormat = getBaseLevelInternalFormat(); ASSERT(width > 0 && height > 0 && depth > 0); @@ -2053,10 +2546,13 @@ TextureStorage *TextureD3D_2DArray::createCompleteStorage(bool renderTarget) con // use existing storage level count, when previously specified by TexStorage*D GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(width, height, 1)); - return mRenderer->createTextureStorage2DArray(internalFormat, renderTarget, width, height, depth, levels); + // TODO(geofflang): Verify storage creation succeeds + *outStorage = mRenderer->createTextureStorage2DArray(internalFormat, renderTarget, width, height, depth, levels); + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) +gl::Error TextureD3D_2DArray::setCompleteTexStorage(TextureStorage *newCompleteTexStorage) { SafeDelete(mTexStorage); mTexStorage = newCompleteTexStorage; @@ -2064,9 +2560,11 @@ void TextureD3D_2DArray::setCompleteTexStorage(TextureStorage *newCompleteTexSto // We do not support managed 2D array storage, as managed storage is ES2/D3D9 only ASSERT(!mTexStorage->isManaged()); + + return gl::Error(GL_NO_ERROR); } -void TextureD3D_2DArray::updateStorage() +gl::Error TextureD3D_2DArray::updateStorage() { ASSERT(mTexStorage != NULL); GLint storageLevels = mTexStorage->getLevelCount(); @@ -2074,43 +2572,15 @@ void TextureD3D_2DArray::updateStorage() { if (isLevelComplete(level)) { - updateStorageLevel(level); - } - } -} - -bool TextureD3D_2DArray::ensureRenderTarget() -{ - initializeStorage(true); - - if (getBaseLevelWidth() > 0 && getBaseLevelHeight() > 0 && getLayers(0) > 0) - { - ASSERT(mTexStorage); - if (!mTexStorage->isRenderTarget()) - { - TextureStorage *newRenderTargetStorage = createCompleteStorage(true); - - if (!mRenderer->copyToRenderTarget2DArray(newRenderTargetStorage, mTexStorage)) + gl::Error error = updateStorageLevel(level); + if (error.isError()) { - delete newRenderTargetStorage; - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } - - setCompleteTexStorage(newRenderTargetStorage); } } - return (mTexStorage && mTexStorage->isRenderTarget()); -} - -const ImageD3D *TextureD3D_2DArray::getBaseLevelImage() const -{ - return (mLayerCounts[0] > 0 ? mImageArray[0][0] : NULL); -} - -TextureStorage *TextureD3D_2DArray::getBaseLevelStorage() -{ - return mTexStorage; + return gl::Error(GL_NO_ERROR); } bool TextureD3D_2DArray::isValidLevel(int level) const @@ -2129,7 +2599,7 @@ bool TextureD3D_2DArray::isLevelComplete(int level) const GLsizei width = getBaseLevelWidth(); GLsizei height = getBaseLevelHeight(); - GLsizei layers = getLayers(0); + GLsizei layers = getLayerCount(0); if (width <= 0 || height <= 0 || layers <= 0) { @@ -2156,7 +2626,7 @@ bool TextureD3D_2DArray::isLevelComplete(int level) const return false; } - if (getLayers(level) != layers) + if (getLayerCount(level) != layers) { return false; } @@ -2164,7 +2634,12 @@ bool TextureD3D_2DArray::isLevelComplete(int level) const return true; } -void TextureD3D_2DArray::updateStorageLevel(int level) +bool TextureD3D_2DArray::isImageComplete(const gl::ImageIndex &index) const +{ + return isLevelComplete(index.mipIndex); +} + +gl::Error TextureD3D_2DArray::updateStorageLevel(int level) { ASSERT(level >= 0 && level < (int)ArraySize(mLayerCounts)); ASSERT(isLevelComplete(level)); @@ -2174,9 +2649,17 @@ void TextureD3D_2DArray::updateStorageLevel(int level) ASSERT(mImageArray[level] != NULL && mImageArray[level][layer] != NULL); if (mImageArray[level][layer]->isDirty()) { - commitRect(level, 0, 0, layer, getWidth(level), getHeight(level)); + gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, layer); + gl::Box region(0, 0, 0, getWidth(level), getHeight(level), 1); + gl::Error error = commitRegion(index, region); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } void TextureD3D_2DArray::deleteImages() @@ -2198,7 +2681,7 @@ void TextureD3D_2DArray::redefineImage(GLint level, GLenum internalformat, GLsiz // If there currently is a corresponding storage texture image, it has these parameters const int storageWidth = std::max(1, getBaseLevelWidth() >> level); const int storageHeight = std::max(1, getBaseLevelHeight() >> level); - const int storageDepth = getLayers(0); + const int storageDepth = getLayerCount(0); const GLenum storageFormat = getBaseLevelInternalFormat(); for (int layer = 0; layer < mLayerCounts[level]; layer++) @@ -2245,16 +2728,32 @@ void TextureD3D_2DArray::redefineImage(GLint level, GLenum internalformat, GLsiz } } -void TextureD3D_2DArray::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint layerTarget, GLsizei width, GLsizei height) +gl::ImageIndexIterator TextureD3D_2DArray::imageIterator() const { - if (isValidLevel(level) && layerTarget < getLayers(level)) + return gl::ImageIndexIterator::Make2DArray(0, mTexStorage->getLevelCount(), mLayerCounts); +} + +gl::ImageIndex TextureD3D_2DArray::getImageIndex(GLint mip, GLint layer) const +{ + return gl::ImageIndex::Make2DArray(mip, layer); +} + +bool TextureD3D_2DArray::isValidIndex(const gl::ImageIndex &index) const +{ + // Check for having a storage and the right type of index + if (!mTexStorage || index.type != GL_TEXTURE_2D_ARRAY) { - ImageD3D *image = mImageArray[level][layerTarget]; - if (image->copyToStorage2DArray(mTexStorage, level, xoffset, yoffset, layerTarget, width, height)) - { - image->markClean(); - } + return false; } + + // Check the mip index + if (index.mipIndex < 0 || index.mipIndex >= mTexStorage->getLevelCount()) + { + return false; + } + + // Check the layer index + return (!index.hasLayer() || (index.layerIndex >= 0 && index.layerIndex < mLayerCounts[index.mipIndex])); } } diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.h b/src/libGLESv2/renderer/d3d/TextureD3D.h index 41c73180..8635b20b 100644 --- a/src/libGLESv2/renderer/d3d/TextureD3D.h +++ b/src/libGLESv2/renderer/d3d/TextureD3D.h @@ -11,7 +11,7 @@ #include "libGLESv2/renderer/TextureImpl.h" #include "libGLESv2/angletypes.h" -#include "libGLESv2/constants.h" +#include "libGLESv2/Constants.h" namespace gl { @@ -35,7 +35,7 @@ class TextureD3D : public TextureImpl static TextureD3D *makeTextureD3D(TextureImpl *texture); - virtual TextureStorage *getNativeTexture(); + TextureStorage *getNativeTexture(); virtual void setUsage(GLenum usage) { mUsage = usage; } bool hasDirtyImages() const { return mDirtyImages; } @@ -48,22 +48,44 @@ class TextureD3D : public TextureImpl bool isImmutable() const { return mImmutable; } - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) = 0; virtual unsigned int getRenderTargetSerial(const gl::ImageIndex &index) = 0; + // Returns an iterator over all "Images" for this particular Texture. + virtual gl::ImageIndexIterator imageIterator() const = 0; + + // Returns an ImageIndex for a particular "Image". 3D Textures do not have images for + // slices of their depth texures, so 3D textures ignore the layer parameter. + virtual gl::ImageIndex getImageIndex(GLint mip, GLint layer) const = 0; + virtual bool isValidIndex(const gl::ImageIndex &index) const = 0; + + virtual void generateMipmaps(); + TextureStorage *getStorage(); + Image *getBaseLevelImage() const; + protected: - void setImage(const gl::PixelUnpackState &unpack, GLenum type, const void *pixels, Image *image); - bool subImage(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels, const gl::ImageIndex &index); - void setCompressedImage(GLsizei imageSize, const void *pixels, Image *image); - bool subImageCompressed(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLenum format, GLsizei imageSize, const void *pixels, Image *image); + gl::Error setImage(const gl::PixelUnpackState &unpack, GLenum type, const void *pixels, const gl::ImageIndex &index); + gl::Error subImage(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels, const gl::ImageIndex &index); + gl::Error setCompressedImage(GLsizei imageSize, const void *pixels, Image *image); + gl::Error subImageCompressed(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLenum format, GLsizei imageSize, const void *pixels, Image *image); bool isFastUnpackable(const gl::PixelUnpackState &unpack, GLenum sizedInternalFormat); - bool fastUnpackPixels(const gl::PixelUnpackState &unpack, const void *pixels, const gl::Box &destArea, - GLenum sizedInternalFormat, GLenum type, RenderTarget *destRenderTarget); + gl::Error fastUnpackPixels(const gl::PixelUnpackState &unpack, const void *pixels, const gl::Box &destArea, + GLenum sizedInternalFormat, GLenum type, RenderTarget *destRenderTarget); GLint creationLevels(GLsizei width, GLsizei height, GLsizei depth) const; int mipLevels() const; + virtual void initMipmapsImages() = 0; + bool isBaseImageZeroSize() const; + virtual bool isImageComplete(const gl::ImageIndex &index) const = 0; + + bool canCreateRenderTargetForImage(const gl::ImageIndex &index) const; + virtual gl::Error ensureRenderTarget(); + + virtual gl::Error createCompleteStorage(bool renderTarget, TextureStorage **outTexStorage) const = 0; + virtual gl::Error setCompleteTexStorage(TextureStorage *newCompleteTexStorage) = 0; + gl::Error commitRegion(const gl::ImageIndex &index, const gl::Box ®ion); Renderer *mRenderer; @@ -72,15 +94,16 @@ class TextureD3D : public TextureImpl bool mDirtyImages; bool mImmutable; + TextureStorage *mTexStorage; private: DISALLOW_COPY_AND_ASSIGN(TextureD3D); - virtual void initializeStorage(bool renderTarget) = 0; + virtual gl::Error initializeStorage(bool renderTarget) = 0; - virtual void updateStorage() = 0; - virtual TextureStorage *getBaseLevelStorage() = 0; - virtual const ImageD3D *getBaseLevelImage() const = 0; + virtual gl::Error updateStorage() = 0; + + bool shouldUseSetData(const Image *image) const; }; class TextureD3D_2D : public TextureD3D @@ -99,43 +122,42 @@ class TextureD3D_2D : public TextureD3D GLenum getActualFormat(GLint level) const; bool isDepth(GLint level) const; - virtual void setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); - virtual void subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); - virtual void copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + virtual gl::Error setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); + virtual gl::Error subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); + virtual gl::Error copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); virtual void bindTexImage(egl::Surface *surface); virtual void releaseTexImage(); - virtual void generateMipmaps(); - - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); virtual unsigned int getRenderTargetSerial(const gl::ImageIndex &index); + virtual gl::ImageIndexIterator imageIterator() const; + virtual gl::ImageIndex getImageIndex(GLint mip, GLint layer) const; + virtual bool isValidIndex(const gl::ImageIndex &index) const; + private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_2D); - virtual void initializeStorage(bool renderTarget); - TextureStorage *createCompleteStorage(bool renderTarget) const; - void setCompleteTexStorage(TextureStorage *newCompleteTexStorage); + virtual gl::Error initializeStorage(bool renderTarget); + virtual gl::Error createCompleteStorage(bool renderTarget, TextureStorage **outTexStorage) const; + virtual gl::Error setCompleteTexStorage(TextureStorage *newCompleteTexStorage); - virtual void updateStorage(); - bool ensureRenderTarget(); - virtual TextureStorage *getBaseLevelStorage(); - virtual const ImageD3D *getBaseLevelImage() const; + virtual gl::Error updateStorage(); + virtual void initMipmapsImages(); bool isValidLevel(int level) const; bool isLevelComplete(int level) const; + virtual bool isImageComplete(const gl::ImageIndex &index) const; - void updateStorageLevel(int level); + gl::Error updateStorageLevel(int level); void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height); - void commitRect(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); - TextureStorage *mTexStorage; ImageD3D *mImageArray[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; }; @@ -156,45 +178,43 @@ class TextureD3D_Cube : public TextureD3D GLenum getInternalFormat(GLint level, GLint layer) const; bool isDepth(GLint level, GLint layer) const; - virtual void setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); - virtual void subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); - virtual void copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + virtual gl::Error setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); + virtual gl::Error subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); + virtual gl::Error copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); virtual void bindTexImage(egl::Surface *surface); virtual void releaseTexImage(); - virtual void generateMipmaps(); - - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); virtual unsigned int getRenderTargetSerial(const gl::ImageIndex &index); + virtual gl::ImageIndexIterator imageIterator() const; + virtual gl::ImageIndex getImageIndex(GLint mip, GLint layer) const; + virtual bool isValidIndex(const gl::ImageIndex &index) const; + private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_Cube); - virtual void initializeStorage(bool renderTarget); - TextureStorage *createCompleteStorage(bool renderTarget) const; - void setCompleteTexStorage(TextureStorage *newCompleteTexStorage); + virtual gl::Error initializeStorage(bool renderTarget); + virtual gl::Error createCompleteStorage(bool renderTarget, TextureStorage **outTexStorage) const; + virtual gl::Error setCompleteTexStorage(TextureStorage *newCompleteTexStorage); - virtual void updateStorage(); - bool ensureRenderTarget(); - virtual TextureStorage *getBaseLevelStorage(); - virtual const ImageD3D *getBaseLevelImage() const; + virtual gl::Error updateStorage(); + virtual void initMipmapsImages(); bool isValidFaceLevel(int faceIndex, int level) const; bool isFaceLevelComplete(int faceIndex, int level) const; bool isCubeComplete() const; - void updateStorageFaceLevel(int faceIndex, int level); + virtual bool isImageComplete(const gl::ImageIndex &index) const; + gl::Error updateStorageFaceLevel(int faceIndex, int level); void redefineImage(int faceIndex, GLint level, GLenum internalformat, GLsizei width, GLsizei height); - void commitRect(int faceIndex, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); ImageD3D *mImageArray[6][gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; - - TextureStorage *mTexStorage; }; class TextureD3D_3D : public TextureD3D @@ -213,44 +233,42 @@ class TextureD3D_3D : public TextureD3D GLenum getInternalFormat(GLint level) const; bool isDepth(GLint level) const; - virtual void setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); - virtual void subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); - virtual void copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + virtual gl::Error setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); + virtual gl::Error subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); + virtual gl::Error copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); virtual void bindTexImage(egl::Surface *surface); virtual void releaseTexImage(); - virtual void generateMipmaps(); - - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); virtual unsigned int getRenderTargetSerial(const gl::ImageIndex &index); + virtual gl::ImageIndexIterator imageIterator() const; + virtual gl::ImageIndex getImageIndex(GLint mip, GLint layer) const; + virtual bool isValidIndex(const gl::ImageIndex &index) const; + private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_3D); - virtual void initializeStorage(bool renderTarget); - TextureStorage *createCompleteStorage(bool renderTarget) const; - void setCompleteTexStorage(TextureStorage *newCompleteTexStorage); + virtual gl::Error initializeStorage(bool renderTarget); + virtual gl::Error createCompleteStorage(bool renderTarget, TextureStorage **outStorage) const; + virtual gl::Error setCompleteTexStorage(TextureStorage *newCompleteTexStorage); - virtual void updateStorage(); - bool ensureRenderTarget(); - virtual TextureStorage *getBaseLevelStorage(); - virtual const ImageD3D *getBaseLevelImage() const; + virtual gl::Error updateStorage(); + virtual void initMipmapsImages(); bool isValidLevel(int level) const; bool isLevelComplete(int level) const; - void updateStorageLevel(int level); + virtual bool isImageComplete(const gl::ImageIndex &index) const; + gl::Error updateStorageLevel(int level); void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - void commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); ImageD3D *mImageArray[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; - - TextureStorage *mTexStorage; }; class TextureD3D_2DArray : public TextureD3D @@ -265,45 +283,44 @@ class TextureD3D_2DArray : public TextureD3D GLsizei getWidth(GLint level) const; GLsizei getHeight(GLint level) const; - GLsizei getLayers(GLint level) const; GLenum getInternalFormat(GLint level) const; bool isDepth(GLint level) const; - virtual void setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); - virtual void subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); - virtual void subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); - virtual void copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); - virtual void storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + virtual gl::Error setImage(GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth, GLenum internalFormat, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error setCompressedImage(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLsizei depth, GLsizei imageSize, const void *pixels); + virtual gl::Error subImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const gl::PixelUnpackState &unpack, const void *pixels); + virtual gl::Error subImageCompressed(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *pixels); + virtual gl::Error copyImage(GLenum target, GLint level, GLenum format, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error storage(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); virtual void bindTexImage(egl::Surface *surface); virtual void releaseTexImage(); - virtual void generateMipmaps(); - - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); virtual unsigned int getRenderTargetSerial(const gl::ImageIndex &index); + virtual gl::ImageIndexIterator imageIterator() const; + virtual gl::ImageIndex getImageIndex(GLint mip, GLint layer) const; + virtual bool isValidIndex(const gl::ImageIndex &index) const; + private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_2DArray); - virtual void initializeStorage(bool renderTarget); - TextureStorage *createCompleteStorage(bool renderTarget) const; - void setCompleteTexStorage(TextureStorage *newCompleteTexStorage); + virtual gl::Error initializeStorage(bool renderTarget); + virtual gl::Error createCompleteStorage(bool renderTarget, TextureStorage **outStorage) const; + virtual gl::Error setCompleteTexStorage(TextureStorage *newCompleteTexStorage); - virtual void updateStorage(); - bool ensureRenderTarget(); - virtual TextureStorage *getBaseLevelStorage(); - virtual const ImageD3D *getBaseLevelImage() const; + virtual gl::Error updateStorage(); + virtual void initMipmapsImages(); bool isValidLevel(int level) const; bool isLevelComplete(int level) const; - void updateStorageLevel(int level); + virtual bool isImageComplete(const gl::ImageIndex &index) const; + gl::Error updateStorageLevel(int level); void deleteImages(); void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - void commitRect(GLint level, GLint xoffset, GLint yoffset, GLint layerTarget, GLsizei width, GLsizei height); // Storing images as an array of single depth textures since D3D11 treats each array level of a // Texture2D object as a separate subresource. Each layer would have to be looped over @@ -311,8 +328,6 @@ class TextureD3D_2DArray : public TextureD3D // sense for the Image class to not have to worry about layer subresource as well as mip subresources. GLsizei mLayerCounts[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; ImageD3D **mImageArray[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; - - TextureStorage *mTexStorage; }; } diff --git a/src/libGLESv2/renderer/d3d/TextureStorage.cpp b/src/libGLESv2/renderer/d3d/TextureStorage.cpp index dedd266c..d2a6d240 100644 --- a/src/libGLESv2/renderer/d3d/TextureStorage.cpp +++ b/src/libGLESv2/renderer/d3d/TextureStorage.cpp @@ -18,11 +18,8 @@ namespace rx { -unsigned int TextureStorage::mCurrentTextureSerial = 1; - TextureStorage::TextureStorage() - : mTextureSerial(issueTextureSerial()), - mFirstRenderTargetSerial(0), + : mFirstRenderTargetSerial(0), mRenderTargetSerialsLayerStride(0) {} @@ -38,14 +35,4 @@ unsigned int TextureStorage::getRenderTargetSerial(const gl::ImageIndex &index) return mFirstRenderTargetSerial + static_cast<unsigned int>(index.mipIndex) + layerOffset; } -unsigned int TextureStorage::getTextureSerial() const -{ - return mTextureSerial; -} - -unsigned int TextureStorage::issueTextureSerial() -{ - return mCurrentTextureSerial++; -} - } diff --git a/src/libGLESv2/renderer/d3d/TextureStorage.h b/src/libGLESv2/renderer/d3d/TextureStorage.h index 9cc2c297..b537016c 100644 --- a/src/libGLESv2/renderer/d3d/TextureStorage.h +++ b/src/libGLESv2/renderer/d3d/TextureStorage.h @@ -9,13 +9,19 @@ #ifndef LIBGLESV2_RENDERER_TEXTURESTORAGE_H_ #define LIBGLESV2_RENDERER_TEXTURESTORAGE_H_ +#include "libGLESv2/Error.h" + #include "common/debug.h" +#include "libGLESv2/Error.h" #include <GLES2/gl2.h> +#include <cstdint> namespace gl { struct ImageIndex; +struct Box; +struct PixelUnpackState; } namespace rx @@ -23,6 +29,7 @@ namespace rx class Renderer; class SwapChain; class RenderTarget; +class Image; class TextureStorage { @@ -35,8 +42,12 @@ class TextureStorage virtual bool isManaged() const = 0; virtual int getLevelCount() const = 0; - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; - virtual void generateMipmaps() = 0; + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) = 0; + virtual void generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex) = 0; + + virtual gl::Error copyToStorage(TextureStorage *destStorage) = 0; + virtual gl::Error setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type, + const gl::PixelUnpackState &unpack, const uint8_t *pixelData) = 0; unsigned int getRenderTargetSerial(const gl::ImageIndex &index) const; unsigned int getTextureSerial() const; @@ -47,11 +58,6 @@ class TextureStorage private: DISALLOW_COPY_AND_ASSIGN(TextureStorage); - const unsigned int mTextureSerial; - static unsigned int issueTextureSerial(); - - static unsigned int mCurrentTextureSerial; - unsigned int mFirstRenderTargetSerial; unsigned int mRenderTargetSerialsLayerStride; }; diff --git a/src/libGLESv2/renderer/d3d/VertexDataManager.cpp b/src/libGLESv2/renderer/d3d/VertexDataManager.cpp index 7034b78e..2f27c781 100644 --- a/src/libGLESv2/renderer/d3d/VertexDataManager.cpp +++ b/src/libGLESv2/renderer/d3d/VertexDataManager.cpp @@ -14,6 +14,7 @@ #include "libGLESv2/Buffer.h" #include "libGLESv2/ProgramBinary.h" #include "libGLESv2/VertexAttribute.h" +#include "libGLESv2/State.h" namespace { @@ -82,8 +83,8 @@ VertexDataManager::~VertexDataManager() } } -gl::Error VertexDataManager::prepareVertexData(const gl::VertexAttribute attribs[], const gl::VertexAttribCurrentValueData currentValues[], - gl::ProgramBinary *programBinary, GLint start, GLsizei count, TranslatedAttribute *translated, GLsizei instances) +gl::Error VertexDataManager::prepareVertexData(const gl::State &state, GLint start, GLsizei count, + TranslatedAttribute *translated, GLsizei instances) { if (!mStreamingBuffer) { @@ -93,20 +94,22 @@ gl::Error VertexDataManager::prepareVertexData(const gl::VertexAttribute attribs // Invalidate static buffers that don't contain matching attributes for (int attributeIndex = 0; attributeIndex < gl::MAX_VERTEX_ATTRIBS; attributeIndex++) { - translated[attributeIndex].active = (programBinary->getSemanticIndex(attributeIndex) != -1); + translated[attributeIndex].active = (state.getCurrentProgramBinary()->getSemanticIndex(attributeIndex) != -1); + const gl::VertexAttribute &curAttrib = state.getVertexAttribState(attributeIndex); - if (translated[attributeIndex].active && attribs[attributeIndex].enabled) + if (translated[attributeIndex].active && curAttrib.enabled) { - invalidateMatchingStaticData(attribs[attributeIndex], currentValues[attributeIndex]); + invalidateMatchingStaticData(curAttrib, state.getVertexAttribCurrentValue(attributeIndex)); } } // Reserve the required space in the buffers for (int i = 0; i < gl::MAX_VERTEX_ATTRIBS; i++) { - if (translated[i].active && attribs[i].enabled) + const gl::VertexAttribute &curAttrib = state.getVertexAttribState(i); + if (translated[i].active && curAttrib.enabled) { - gl::Error error = reserveSpaceForAttrib(attribs[i], currentValues[i], count, instances); + gl::Error error = reserveSpaceForAttrib(curAttrib, state.getVertexAttribCurrentValue(i), count, instances); if (error.isError()) { return error; @@ -117,12 +120,14 @@ gl::Error VertexDataManager::prepareVertexData(const gl::VertexAttribute attribs // Perform the vertex data translations for (int i = 0; i < gl::MAX_VERTEX_ATTRIBS; i++) { + const gl::VertexAttribute &curAttrib = state.getVertexAttribState(i); if (translated[i].active) { - if (attribs[i].enabled) + if (curAttrib.enabled) { - gl::Error error = storeAttribute(attribs[i], currentValues[i], &translated[i], - start, count, instances); + gl::Error error = storeAttribute(curAttrib, state.getVertexAttribCurrentValue(i), + &translated[i], start, count, instances); + if (error.isError()) { return error; @@ -135,7 +140,7 @@ gl::Error VertexDataManager::prepareVertexData(const gl::VertexAttribute attribs mCurrentValueBuffer[i] = new StreamingVertexBufferInterface(mRenderer, CONSTANT_VERTEX_BUFFER_SIZE); } - gl::Error error = storeCurrentValue(attribs[i], currentValues[i], &translated[i], + gl::Error error = storeCurrentValue(curAttrib, state.getVertexAttribCurrentValue(i), &translated[i], &mCurrentValue[i], &mCurrentValueOffsets[i], mCurrentValueBuffer[i]); if (error.isError()) @@ -148,14 +153,15 @@ gl::Error VertexDataManager::prepareVertexData(const gl::VertexAttribute attribs for (int i = 0; i < gl::MAX_VERTEX_ATTRIBS; i++) { - if (translated[i].active && attribs[i].enabled) + const gl::VertexAttribute &curAttrib = state.getVertexAttribState(i); + if (translated[i].active && curAttrib.enabled) { - gl::Buffer *buffer = attribs[i].buffer.get(); + gl::Buffer *buffer = curAttrib.buffer.get(); if (buffer) { BufferD3D *bufferImpl = BufferD3D::makeBufferD3D(buffer->getImplementation()); - bufferImpl->promoteStaticUsage(count * ComputeVertexAttributeTypeSize(attribs[i])); + bufferImpl->promoteStaticUsage(count * ComputeVertexAttributeTypeSize(curAttrib)); } } } diff --git a/src/libGLESv2/renderer/d3d/VertexDataManager.h b/src/libGLESv2/renderer/d3d/VertexDataManager.h index 77287222..9e430bd1 100644 --- a/src/libGLESv2/renderer/d3d/VertexDataManager.h +++ b/src/libGLESv2/renderer/d3d/VertexDataManager.h @@ -16,8 +16,9 @@ namespace gl { -struct VertexAttribute; class ProgramBinary; +class State; +struct VertexAttribute; struct VertexAttribCurrentValueData; } @@ -52,8 +53,8 @@ class VertexDataManager VertexDataManager(rx::Renderer *renderer); virtual ~VertexDataManager(); - gl::Error prepareVertexData(const gl::VertexAttribute attribs[], const gl::VertexAttribCurrentValueData currentValues[], - gl::ProgramBinary *programBinary, GLint start, GLsizei count, TranslatedAttribute *outAttribs, GLsizei instances); + gl::Error prepareVertexData(const gl::State &state, GLint start, GLsizei count, + TranslatedAttribute *outAttribs, GLsizei instances); private: DISALLOW_COPY_AND_ASSIGN(VertexDataManager); diff --git a/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp index edbc1693..0b513092 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp @@ -368,8 +368,8 @@ static inline unsigned int GetSwizzleIndex(GLenum swizzle) return colorIndex; } -bool Blit11::swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTargetView *dest, const gl::Extents &size, - GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha) +gl::Error Blit11::swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTargetView *dest, const gl::Extents &size, + GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha) { HRESULT result; ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext(); @@ -407,7 +407,7 @@ bool Blit11::swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTarget if (i == mSwizzleShaderMap.end()) { UNREACHABLE(); - return false; + return gl::Error(GL_INVALID_OPERATION, "Internal error, missing swizzle shader."); } const Shader &shader = i->second; @@ -417,8 +417,7 @@ bool Blit11::swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTarget result = deviceContext->Map(mVertexBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); if (FAILED(result)) { - ERR("Failed to map vertex buffer for texture swizzle, HRESULT: 0x%X.", result); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal vertex buffer for swizzle, HRESULT: 0x%X.", result); } UINT stride = 0; @@ -435,8 +434,7 @@ bool Blit11::swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTarget result = deviceContext->Map(mSwizzleCB, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); if (FAILED(result)) { - ERR("Failed to map constant buffer for texture swizzle, HRESULT: 0x%X.", result); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal constant buffer for swizzle, HRESULT: 0x%X.", result); } unsigned int *swizzleIndices = reinterpret_cast<unsigned int*>(mappedResource.pData); @@ -503,12 +501,12 @@ bool Blit11::swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTarget mRenderer->markAllStateDirty(); - return true; + return gl::Error(GL_NO_ERROR); } -bool Blit11::copyTexture(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11RenderTargetView *dest, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor, GLenum destFormat, GLenum filter) +gl::Error Blit11::copyTexture(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11RenderTargetView *dest, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor, GLenum destFormat, GLenum filter) { HRESULT result; ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext(); @@ -530,7 +528,7 @@ bool Blit11::copyTexture(ID3D11ShaderResourceView *source, const gl::Box &source if (i == mBlitShaderMap.end()) { UNREACHABLE(); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Could not find appropriate shader for internal texture blit."); } const Shader& shader = i->second; @@ -540,8 +538,7 @@ bool Blit11::copyTexture(ID3D11ShaderResourceView *source, const gl::Box &source result = deviceContext->Map(mVertexBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); if (FAILED(result)) { - ERR("Failed to map vertex buffer for texture copy, HRESULT: 0x%X.", result); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal vertex buffer for texture copy, HRESULT: 0x%X.", result); } UINT stride = 0; @@ -611,7 +608,10 @@ bool Blit11::copyTexture(ID3D11ShaderResourceView *source, const gl::Box &source { case GL_NEAREST: sampler = mPointSampler; break; case GL_LINEAR: sampler = mLinearSampler; break; - default: UNREACHABLE(); return false; + + default: + UNREACHABLE(); + return gl::Error(GL_OUT_OF_MEMORY, "Internal error, unknown blit filter mode."); } deviceContext->PSSetSamplers(0, 1, &sampler); @@ -629,21 +629,21 @@ bool Blit11::copyTexture(ID3D11ShaderResourceView *source, const gl::Box &source mRenderer->markAllStateDirty(); - return true; + return gl::Error(GL_NO_ERROR); } -bool Blit11::copyStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor) +gl::Error Blit11::copyStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor) { return copyDepthStencil(source, sourceSubresource, sourceArea, sourceSize, dest, destSubresource, destArea, destSize, scissor, true); } -bool Blit11::copyDepth(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11DepthStencilView *dest, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor) +gl::Error Blit11::copyDepth(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11DepthStencilView *dest, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor) { HRESULT result; ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext(); @@ -653,8 +653,7 @@ bool Blit11::copyDepth(ID3D11ShaderResourceView *source, const gl::Box &sourceAr result = deviceContext->Map(mVertexBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); if (FAILED(result)) { - ERR("Failed to map vertex buffer for texture copy, HRESULT: 0x%X.", result); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal vertex buffer for texture copy, HRESULT: 0x%X.", result); } UINT stride = 0; @@ -735,21 +734,21 @@ bool Blit11::copyDepth(ID3D11ShaderResourceView *source, const gl::Box &sourceAr mRenderer->markAllStateDirty(); - return true; + return gl::Error(GL_NO_ERROR); } -bool Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor) +gl::Error Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor) { return copyDepthStencil(source, sourceSubresource, sourceArea, sourceSize, dest, destSubresource, destArea, destSize, scissor, false); } -bool Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor, bool stencilOnly) +gl::Error Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor, bool stencilOnly) { ID3D11Device *device = mRenderer->getDevice(); ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext(); @@ -763,7 +762,7 @@ bool Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubreso { SafeRelease(sourceStaging); SafeRelease(destStaging); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal staging textures for depth stencil blit."); } DXGI_FORMAT format = GetTextureFormat(source); @@ -784,23 +783,23 @@ bool Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubreso dxgiFormatInfo.depthBits % 8 == 0); } - D3D11_MAPPED_SUBRESOURCE sourceMapping, destMapping; - deviceContext->Map(sourceStaging, 0, D3D11_MAP_READ, 0, &sourceMapping); - deviceContext->Map(destStaging, 0, D3D11_MAP_WRITE, 0, &destMapping); + D3D11_MAPPED_SUBRESOURCE sourceMapping; + HRESULT result = deviceContext->Map(sourceStaging, 0, D3D11_MAP_READ, 0, &sourceMapping); + if (FAILED(result)) + { + SafeRelease(sourceStaging); + SafeRelease(destStaging); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal source staging texture for depth stencil blit, HRESULT: 0x%X.", result); + } - if (!sourceMapping.pData || !destMapping.pData) + D3D11_MAPPED_SUBRESOURCE destMapping; + result = deviceContext->Map(destStaging, 0, D3D11_MAP_WRITE, 0, &destMapping); + if (FAILED(result)) { - if (!sourceMapping.pData) - { - deviceContext->Unmap(sourceStaging, 0); - } - if (!destMapping.pData) - { - deviceContext->Unmap(destStaging, 0); - } + deviceContext->Unmap(sourceStaging, 0); SafeRelease(sourceStaging); SafeRelease(destStaging); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal destination staging texture for depth stencil blit, HRESULT: 0x%X.", result); } gl::Rectangle clippedDestArea(destArea.x, destArea.y, destArea.width, destArea.height); @@ -879,7 +878,7 @@ bool Blit11::copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubreso SafeRelease(sourceStaging); SafeRelease(destStaging); - return true; + return gl::Error(GL_NO_ERROR); } bool Blit11::compareBlitParameters(const Blit11::BlitParameters &a, const Blit11::BlitParameters &b) diff --git a/src/libGLESv2/renderer/d3d/d3d11/Blit11.h b/src/libGLESv2/renderer/d3d/d3d11/Blit11.h index 4e57042f..480edd99 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Blit11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/Blit11.h @@ -11,6 +11,7 @@ #include "common/angleutils.h" #include "libGLESv2/angletypes.h" +#include "libGLESv2/Error.h" #include <map> @@ -18,37 +19,31 @@ namespace rx { class Renderer11; -enum Filter -{ - Point, - Linear, -}; - class Blit11 { public: explicit Blit11(Renderer11 *renderer); ~Blit11(); - bool swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTargetView *dest, const gl::Extents &size, - GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha); - - bool copyTexture(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11RenderTargetView *dest, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor, GLenum destFormat, GLenum filter); + gl::Error swizzleTexture(ID3D11ShaderResourceView *source, ID3D11RenderTargetView *dest, const gl::Extents &size, + GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha); - bool copyStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor); + gl::Error copyTexture(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11RenderTargetView *dest, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor, GLenum destFormat, GLenum filter); - bool copyDepth(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11DepthStencilView *dest, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor); - - bool copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, + gl::Error copyStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, const gl::Rectangle *scissor); + gl::Error copyDepth(ID3D11ShaderResourceView *source, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11DepthStencilView *dest, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor); + + gl::Error copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor); + private: rx::Renderer11 *mRenderer; @@ -59,9 +54,9 @@ class Blit11 bool m3DBlit; }; - bool copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, - ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, - const gl::Rectangle *scissor, bool stencilOnly); + gl::Error copyDepthStencil(ID3D11Resource *source, unsigned int sourceSubresource, const gl::Box &sourceArea, const gl::Extents &sourceSize, + ID3D11Resource *dest, unsigned int destSubresource, const gl::Box &destArea, const gl::Extents &destSize, + const gl::Rectangle *scissor, bool stencilOnly); static bool compareBlitParameters(const BlitParameters &a, const BlitParameters &b); diff --git a/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp index 43ce5ba8..877b3034 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp @@ -144,7 +144,7 @@ class Buffer11::PackStorage11 : public Buffer11::BufferStorage11 private: - void flushQueuedPackCommand(); + gl::Error flushQueuedPackCommand(); ID3D11Texture2D *mStagingTexture; DXGI_FORMAT mTextureFormat; @@ -667,6 +667,9 @@ bool Buffer11::NativeBuffer11::copyFromStorage(BufferStorage11 *source, size_t s // Offset bounds are validated at the API layer ASSERT(sourceOffset + size <= destOffset + mBufferSize); memcpy(destPointer, sourcePointer, size); + + context->Unmap(mNativeBuffer, 0); + source->unmap(); } else { @@ -867,7 +870,12 @@ void *Buffer11::PackStorage11::map(size_t offset, size_t length, GLbitfield acce // and if D3D packs the staging texture memory identically to how we would fill // the pack buffer according to the current pack state. - flushQueuedPackCommand(); + gl::Error error = flushQueuedPackCommand(); + if (error.isError()) + { + return NULL; + } + mDataModified = (mDataModified || (access & GL_MAP_WRITE_BIT) != 0); return mMemoryBuffer.data() + offset; @@ -880,7 +888,12 @@ void Buffer11::PackStorage11::unmap() gl::Error Buffer11::PackStorage11::packPixels(ID3D11Texture2D *srcTexure, UINT srcSubresource, const PackPixelsParams ¶ms) { - flushQueuedPackCommand(); + gl::Error error = flushQueuedPackCommand(); + if (error.isError()) + { + return error; + } + mQueuedPackCommand = new PackPixelsParams(params); D3D11_TEXTURE2D_DESC textureDesc; @@ -945,15 +958,21 @@ gl::Error Buffer11::PackStorage11::packPixels(ID3D11Texture2D *srcTexure, UINT s return gl::Error(GL_NO_ERROR); } -void Buffer11::PackStorage11::flushQueuedPackCommand() +gl::Error Buffer11::PackStorage11::flushQueuedPackCommand() { ASSERT(mMemoryBuffer.size() > 0); if (mQueuedPackCommand) { - mRenderer->packPixels(mStagingTexture, *mQueuedPackCommand, mMemoryBuffer.data()); + gl::Error error = mRenderer->packPixels(mStagingTexture, *mQueuedPackCommand, mMemoryBuffer.data()); SafeDelete(mQueuedPackCommand); + if (error.isError()) + { + return error; + } } + + return gl::Error(GL_NO_ERROR); } } diff --git a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp index c60b7a6c..84698d0e 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp @@ -211,10 +211,11 @@ gl::Error Clear11::clearFramebuffer(const gl::ClearParameters &clearParams, gl:: gl::FramebufferAttachment *attachment = frameBuffer->getColorbuffer(colorAttachment); if (attachment) { - RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(attachment); - if (!renderTarget) + RenderTarget11 *renderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(attachment, &renderTarget); + if (error.isError()) { - return gl::Error(GL_OUT_OF_MEMORY, "Internal render target view pointer unexpectedly null."); + return error; } const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(attachment->getInternalFormat()); @@ -284,10 +285,11 @@ gl::Error Clear11::clearFramebuffer(const gl::ClearParameters &clearParams, gl:: gl::FramebufferAttachment *attachment = frameBuffer->getDepthOrStencilbuffer(); if (attachment) { - RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(attachment); - if (!renderTarget) + RenderTarget11 *renderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(attachment, &renderTarget); + if (error.isError()) { - return gl::Error(GL_OUT_OF_MEMORY, "Internal depth stencil view pointer unexpectedly null."); + return error; } const gl::InternalFormat &actualFormatInfo = gl::GetInternalFormatInfo(attachment->getActualFormat()); diff --git a/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp index a841b528..e96c5159 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp @@ -4,7 +4,7 @@ // found in the LICENSE file. // -// Fence11.cpp: Defines the rx::Fence11 class which implements rx::FenceImpl. +// Fence11.cpp: Defines the rx::FenceNV11 and rx::FenceSync11 classes which implement rx::FenceNVImpl and rx::FenceSyncImpl. #include "libGLESv2/renderer/d3d/d3d11/Fence11.h" #include "libGLESv2/renderer/d3d/d3d11/Renderer11.h" @@ -13,58 +13,218 @@ namespace rx { -Fence11::Fence11(rx::Renderer11 *renderer) +// +// Template helpers for set and test operations. +// + +template<class FenceClass> +gl::Error FenceSetHelper(FenceClass *fence) +{ + if (!fence->mQuery) + { + D3D11_QUERY_DESC queryDesc; + queryDesc.Query = D3D11_QUERY_EVENT; + queryDesc.MiscFlags = 0; + + HRESULT result = fence->mRenderer->getDevice()->CreateQuery(&queryDesc, &fence->mQuery); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create event query, result: 0x%X.", result); + } + } + + fence->mRenderer->getDeviceContext()->End(fence->mQuery); + return gl::Error(GL_NO_ERROR); +} + +template <class FenceClass> +gl::Error FenceTestHelper(FenceClass *fence, bool flushCommandBuffer, GLboolean *outFinished) +{ + ASSERT(fence->mQuery); + + UINT getDataFlags = (flushCommandBuffer ? 0 : D3D11_ASYNC_GETDATA_DONOTFLUSH); + HRESULT result = fence->mRenderer->getDeviceContext()->GetData(fence->mQuery, NULL, 0, getDataFlags); + + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to get query data, result: 0x%X.", result); + } + else if (fence->mRenderer->isDeviceLost()) + { + return gl::Error(GL_OUT_OF_MEMORY, "Device was lost while querying result of an event query."); + } + + ASSERT(result == S_OK || result == S_FALSE); + *outFinished = ((result == S_OK) ? GL_TRUE : GL_FALSE); + return gl::Error(GL_NO_ERROR); +} + +// +// FenceNV11 +// + +FenceNV11::FenceNV11(Renderer11 *renderer) + : FenceNVImpl(), + mRenderer(renderer), + mQuery(NULL) { - mRenderer = renderer; - mQuery = NULL; } -Fence11::~Fence11() +FenceNV11::~FenceNV11() { SafeRelease(mQuery); } -bool Fence11::isSet() const +gl::Error FenceNV11::set() { - return mQuery != NULL; + return FenceSetHelper(this); } -void Fence11::set() +gl::Error FenceNV11::test(bool flushCommandBuffer, GLboolean *outFinished) { - if (!mQuery) - { - D3D11_QUERY_DESC queryDesc; - queryDesc.Query = D3D11_QUERY_EVENT; - queryDesc.MiscFlags = 0; + return FenceTestHelper(this, flushCommandBuffer, outFinished); +} + +gl::Error FenceNV11::finishFence(GLboolean *outFinished) +{ + ASSERT(outFinished); - if (FAILED(mRenderer->getDevice()->CreateQuery(&queryDesc, &mQuery))) + while (*outFinished != GL_TRUE) + { + gl::Error error = test(true, outFinished); + if (error.isError()) { - return gl::error(GL_OUT_OF_MEMORY); + return error; } + + Sleep(0); } - mRenderer->getDeviceContext()->End(mQuery); + return gl::Error(GL_NO_ERROR); +} + +// +// FenceSync11 +// + +// Important note on accurate timers in Windows: +// +// QueryPerformanceCounter has a few major issues, including being 10x as expensive to call +// as timeGetTime on laptops and "jumping" during certain hardware events. +// +// See the comments at the top of the Chromium source file "chromium/src/base/time/time_win.cc" +// https://code.google.com/p/chromium/codesearch#chromium/src/base/time/time_win.cc +// +// We still opt to use QPC. In the present and moving forward, most newer systems will not suffer +// from buggy implementations. + +FenceSync11::FenceSync11(Renderer11 *renderer) + : FenceSyncImpl(), + mRenderer(renderer), + mQuery(NULL) +{ + LARGE_INTEGER counterFreqency = { 0 }; + BOOL success = QueryPerformanceFrequency(&counterFreqency); + UNUSED_ASSERTION_VARIABLE(success); + ASSERT(success); + + mCounterFrequency = counterFreqency.QuadPart; } -bool Fence11::test(bool flushCommandBuffer) +FenceSync11::~FenceSync11() { - ASSERT(mQuery); + SafeRelease(mQuery); +} - UINT getDataFlags = (flushCommandBuffer ? 0 : D3D11_ASYNC_GETDATA_DONOTFLUSH); - HRESULT result = mRenderer->getDeviceContext()->GetData(mQuery, NULL, 0, getDataFlags); +gl::Error FenceSync11::set() +{ + return FenceSetHelper(this); +} + +gl::Error FenceSync11::clientWait(GLbitfield flags, GLuint64 timeout, GLenum *outResult) +{ + ASSERT(outResult); + + bool flushCommandBuffer = ((flags & GL_SYNC_FLUSH_COMMANDS_BIT) != 0); - if (mRenderer->isDeviceLost()) + GLboolean result = GL_FALSE; + gl::Error error = FenceTestHelper(this, flushCommandBuffer, &result); + if (error.isError()) { - return gl::error(GL_OUT_OF_MEMORY, true); + *outResult = GL_WAIT_FAILED; + return error; } - ASSERT(result == S_OK || result == S_FALSE); - return (result == S_OK); + if (result == GL_TRUE) + { + *outResult = GL_ALREADY_SIGNALED; + return gl::Error(GL_NO_ERROR); + } + + if (timeout == 0) + { + *outResult = GL_TIMEOUT_EXPIRED; + return gl::Error(GL_NO_ERROR); + } + + LARGE_INTEGER currentCounter = { 0 }; + BOOL success = QueryPerformanceCounter(¤tCounter); + UNUSED_ASSERTION_VARIABLE(success); + ASSERT(success); + + LONGLONG timeoutInSeconds = static_cast<LONGLONG>(timeout) * static_cast<LONGLONG>(1000000ll); + LONGLONG endCounter = currentCounter.QuadPart + mCounterFrequency * timeoutInSeconds; + + while (currentCounter.QuadPart < endCounter && !result) + { + Sleep(0); + BOOL success = QueryPerformanceCounter(¤tCounter); + UNUSED_ASSERTION_VARIABLE(success); + ASSERT(success); + + error = FenceTestHelper(this, flushCommandBuffer, &result); + if (error.isError()) + { + *outResult = GL_WAIT_FAILED; + return error; + } + } + + if (currentCounter.QuadPart >= endCounter) + { + *outResult = GL_TIMEOUT_EXPIRED; + } + else + { + *outResult = GL_CONDITION_SATISFIED; + } + + return gl::Error(GL_NO_ERROR); } -bool Fence11::hasError() const +gl::Error FenceSync11::serverWait(GLbitfield flags, GLuint64 timeout) { - return mRenderer->isDeviceLost(); + // Because our API is currently designed to be called from a single thread, we don't need to do + // extra work for a server-side fence. GPU commands issued after the fence is created will always + // be processed after the fence is signaled. + return gl::Error(GL_NO_ERROR); } +gl::Error FenceSync11::getStatus(GLint *outResult) +{ + GLboolean result = GL_FALSE; + gl::Error error = FenceTestHelper(this, false, &result); + if (error.isError()) + { + // The spec does not specify any way to report errors during the status test (e.g. device lost) + // so we report the fence is unblocked in case of error or signaled. + *outResult = GL_SIGNALED; + + return error; + } + + *outResult = (result ? GL_SIGNALED : GL_UNSIGNALED); + return gl::Error(GL_NO_ERROR); } + +} // namespace rx diff --git a/src/libGLESv2/renderer/d3d/d3d11/Fence11.h b/src/libGLESv2/renderer/d3d/d3d11/Fence11.h index 50c76217..1223a53b 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Fence11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/Fence11.h @@ -4,10 +4,10 @@ // found in the LICENSE file. // -// Fence11.h: Defines the rx::Fence11 class which implements rx::FenceImpl. +// Fence11.h: Defines the rx::FenceNV11 and rx::FenceSync11 classes which implement rx::FenceNVImpl and rx::FenceSyncImpl. -#ifndef LIBGLESV2_RENDERER_Fence11_H_ -#define LIBGLESV2_RENDERER_Fence11_H_ +#ifndef LIBGLESV2_RENDERER_FENCE11_H_ +#define LIBGLESV2_RENDERER_FENCE11_H_ #include "libGLESv2/renderer/FenceImpl.h" @@ -15,22 +15,46 @@ namespace rx { class Renderer11; -class Fence11 : public FenceImpl +class FenceNV11 : public FenceNVImpl { public: - explicit Fence11(rx::Renderer11 *renderer); - virtual ~Fence11(); + explicit FenceNV11(Renderer11 *renderer); + virtual ~FenceNV11(); - bool isSet() const; - void set(); - bool test(bool flushCommandBuffer); - bool hasError() const; + gl::Error set(); + gl::Error test(bool flushCommandBuffer, GLboolean *outFinished); + gl::Error finishFence(GLboolean *outFinished); private: - DISALLOW_COPY_AND_ASSIGN(Fence11); + DISALLOW_COPY_AND_ASSIGN(FenceNV11); - rx::Renderer11 *mRenderer; + template<class T> friend gl::Error FenceSetHelper(T *fence); + template<class T> friend gl::Error FenceTestHelper(T *fence, bool flushCommandBuffer, GLboolean *outFinished); + + Renderer11 *mRenderer; + ID3D11Query *mQuery; +}; + +class FenceSync11 : public FenceSyncImpl +{ + public: + explicit FenceSync11(Renderer11 *renderer); + virtual ~FenceSync11(); + + gl::Error set(); + gl::Error clientWait(GLbitfield flags, GLuint64 timeout, GLenum *outResult); + gl::Error serverWait(GLbitfield flags, GLuint64 timeout); + gl::Error getStatus(GLint *outResult); + + private: + DISALLOW_COPY_AND_ASSIGN(FenceSync11); + + template<class T> friend gl::Error FenceSetHelper(T *fence); + template<class T> friend gl::Error FenceTestHelper(T *fence, bool flushCommandBuffer, GLboolean *outFinished); + + Renderer11 *mRenderer; ID3D11Query *mQuery; + LONGLONG mCounterFrequency; }; } diff --git a/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp index 7536713a..c9f538b4 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp @@ -9,6 +9,7 @@ #include "libGLESv2/renderer/d3d/d3d11/Renderer11.h" #include "libGLESv2/renderer/d3d/d3d11/Image11.h" +#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h" #include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h" #include "libGLESv2/renderer/d3d/d3d11/formatutils11.h" #include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h" @@ -22,15 +23,16 @@ namespace rx { Image11::Image11() + : mRenderer(NULL), + mDXGIFormat(DXGI_FORMAT_UNKNOWN), + mStagingTexture(NULL), + mStagingSubresource(0), + mRecoverFromStorage(false), + mAssociatedStorage(NULL), + mAssociatedImageIndex(gl::ImageIndex::MakeInvalid()), + mRecoveredFromStorageCount(0) + { - mStagingTexture = NULL; - mRenderer = NULL; - mDXGIFormat = DXGI_FORMAT_UNKNOWN; - mRecoverFromStorage = false; - mAssociatedStorage = NULL; - mAssociatedStorageLevel = 0; - mAssociatedStorageLayerTarget = 0; - mRecoveredFromStorageCount = 0; } Image11::~Image11() @@ -99,32 +101,10 @@ bool Image11::isDirty() const return mDirty; } -bool Image11::copyToStorage2D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) +gl::Error Image11::copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box ®ion) { - TextureStorage11_2D *storage11 = TextureStorage11_2D::makeTextureStorage11_2D(storage); - return copyToStorageImpl(storage11, level, 0, xoffset, yoffset, width, height); -} - -bool Image11::copyToStorageCube(TextureStorage *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) -{ - TextureStorage11_Cube *storage11 = TextureStorage11_Cube::makeTextureStorage11_Cube(storage); - return copyToStorageImpl(storage11, level, face, xoffset, yoffset, width, height); -} + TextureStorage11 *storage11 = TextureStorage11::makeTextureStorage11(storage); -bool Image11::copyToStorage3D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) -{ - TextureStorage11_3D *storage11 = TextureStorage11_3D::makeTextureStorage11_3D(storage); - return copyToStorageImpl(storage11, level, 0, xoffset, yoffset, width, height); -} - -bool Image11::copyToStorage2DArray(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint arrayLayer, GLsizei width, GLsizei height) -{ - TextureStorage11_2DArray *storage11 = TextureStorage11_2DArray::makeTextureStorage11_2DArray(storage); - return copyToStorageImpl(storage11, level, arrayLayer, xoffset, yoffset, width, height); -} - -bool Image11::copyToStorageImpl(TextureStorage11 *storage11, int level, int layerTarget, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) -{ // If an app's behavior results in an Image11 copying its data to/from to a TextureStorage multiple times, // then we should just keep the staging texture around to prevent the copying from impacting perf. // We allow the Image11 to copy its data to/from TextureStorage once. @@ -134,23 +114,31 @@ bool Image11::copyToStorageImpl(TextureStorage11 *storage11, int level, int laye if (attemptToReleaseStagingTexture) { // If another image is relying on this Storage for its data, then we must let it recover its data before we overwrite it. - storage11->releaseAssociatedImage(level, layerTarget, this); + gl::Error error = storage11->releaseAssociatedImage(index, this); + if (error.isError()) + { + return error; + } } - bool updateSubresourceSuccess = storage11->updateSubresourceLevel(getStagingTexture(), getStagingSubresource(), level, layerTarget, xoffset, yoffset, 0, width, height, 1); + gl::Error error = storage11->updateSubresourceLevel(getStagingTexture(), getStagingSubresource(), + index, region); + if (error.isError()) + { + return error; + } // Once the image data has been copied into the Storage, we can release it locally. - if (attemptToReleaseStagingTexture && updateSubresourceSuccess) + if (attemptToReleaseStagingTexture) { - storage11->associateImage(this, level, layerTarget); + storage11->associateImage(this, index); releaseStagingTexture(); mRecoverFromStorage = true; mAssociatedStorage = storage11; - mAssociatedStorageLevel = level; - mAssociatedStorageLayerTarget = layerTarget; + mAssociatedImageIndex = index; } - return updateSubresourceSuccess; + return gl::Error(GL_NO_ERROR); } bool Image11::isAssociatedStorageValid(TextureStorage11* textureStorage) const @@ -158,13 +146,13 @@ bool Image11::isAssociatedStorageValid(TextureStorage11* textureStorage) const return (mAssociatedStorage == textureStorage); } -bool Image11::recoverFromAssociatedStorage() +gl::Error Image11::recoverFromAssociatedStorage() { if (mRecoverFromStorage) { createStagingTexture(); - bool textureStorageCorrect = mAssociatedStorage->isAssociatedImageValid(mAssociatedStorageLevel, mAssociatedStorageLayerTarget, this); + bool textureStorageCorrect = mAssociatedStorage->isAssociatedImageValid(mAssociatedImageIndex, this); // This means that the cached TextureStorage has been modified after this Image11 released its copy of its data. // This should not have happened. The TextureStorage should have told this Image11 to recover its data before it was overwritten. @@ -173,17 +161,21 @@ bool Image11::recoverFromAssociatedStorage() if (textureStorageCorrect) { // CopySubResource from the Storage to the Staging texture - mAssociatedStorage->copySubresourceLevel(mStagingTexture, mStagingSubresource, mAssociatedStorageLevel, mAssociatedStorageLayerTarget, 0, 0, 0, mWidth, mHeight, mDepth); + gl::Box region(0, 0, 0, mWidth, mHeight, mDepth); + gl::Error error = mAssociatedStorage->copySubresourceLevel(mStagingTexture, mStagingSubresource, mAssociatedImageIndex, region); + if (error.isError()) + { + return error; + } + mRecoveredFromStorageCount += 1; } // Reset all the recovery parameters, even if the texture storage association is broken. disassociateStorage(); - - return textureStorageCorrect; } - return false; + return gl::Error(GL_NO_ERROR); } void Image11::disassociateStorage() @@ -191,12 +183,11 @@ void Image11::disassociateStorage() if (mRecoverFromStorage) { // Make the texturestorage release the Image11 too - mAssociatedStorage->disassociateImage(mAssociatedStorageLevel, mAssociatedStorageLayerTarget, this); + mAssociatedStorage->disassociateImage(mAssociatedImageIndex, this); mRecoverFromStorage = false; mAssociatedStorage = NULL; - mAssociatedStorageLevel = 0; - mAssociatedStorageLayerTarget = 0; + mAssociatedImageIndex = gl::ImageIndex::MakeInvalid(); } } @@ -247,8 +238,8 @@ DXGI_FORMAT Image11::getDXGIFormat() const // Store the pixel rectangle designated by xoffset,yoffset,width,height with pixels stored as format/type at input // into the target pixel rectangle. -void Image11::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLint unpackAlignment, GLenum type, const void *input) +gl::Error Image11::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLint unpackAlignment, GLenum type, const void *input) { const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(mInternalFormat); GLsizei inputRowPitch = formatInfo.computeRowPitch(type, width, unpackAlignment); @@ -264,8 +255,7 @@ void Image11::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei widt HRESULT result = map(D3D11_MAP_WRITE, &mappedImage); if (FAILED(result)) { - ERR("Could not map image for loading."); - return; + return gl::Error(GL_OUT_OF_MEMORY, "Could not map internal image for loading texture data, result: 0x%X.", result); } uint8_t* offsetMappedData = (reinterpret_cast<uint8_t*>(mappedImage.pData) + (yoffset * mappedImage.RowPitch + xoffset * outputPixelSize + zoffset * mappedImage.DepthPitch)); @@ -274,10 +264,12 @@ void Image11::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei widt offsetMappedData, mappedImage.RowPitch, mappedImage.DepthPitch); unmap(); + + return gl::Error(GL_NO_ERROR); } -void Image11::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - const void *input) +gl::Error Image11::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + const void *input) { const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(mInternalFormat); GLsizei inputRowPitch = formatInfo.computeRowPitch(GL_UNSIGNED_BYTE, width, 1); @@ -298,8 +290,7 @@ void Image11::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GL HRESULT result = map(D3D11_MAP_WRITE, &mappedImage); if (FAILED(result)) { - ERR("Could not map image for loading."); - return; + return gl::Error(GL_OUT_OF_MEMORY, "Could not map internal image for loading texture data, result: 0x%X.", result); } uint8_t* offsetMappedData = reinterpret_cast<uint8_t*>(mappedImage.pData) + ((yoffset / outputBlockHeight) * mappedImage.RowPitch + @@ -311,70 +302,105 @@ void Image11::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GL offsetMappedData, mappedImage.RowPitch, mappedImage.DepthPitch); unmap(); + + return gl::Error(GL_NO_ERROR); } -void Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, RenderTarget *source) { - gl::FramebufferAttachment *colorbuffer = source->getReadColorbuffer(); + RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(source); + ASSERT(sourceRenderTarget->getTexture()); + + UINT subresourceIndex = sourceRenderTarget->getSubresourceIndex(); + ID3D11Texture2D *sourceTexture2D = d3d11::DynamicCastComObject<ID3D11Texture2D>(sourceRenderTarget->getTexture()); - if (colorbuffer && colorbuffer->getActualFormat() == mActualFormat) + if (!sourceTexture2D) { - // No conversion needed-- use copyback fastpath - ID3D11Texture2D *colorBufferTexture = NULL; - unsigned int subresourceIndex = 0; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to retrieve the ID3D11Texture2D from the source RenderTarget."); + } - if (mRenderer->getRenderTargetResource(colorbuffer, &subresourceIndex, &colorBufferTexture)) - { - D3D11_TEXTURE2D_DESC textureDesc; - colorBufferTexture->GetDesc(&textureDesc); + gl::Error error = copy(xoffset, yoffset, zoffset, sourceArea, sourceTexture2D, subresourceIndex); - ID3D11Device *device = mRenderer->getDevice(); - ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext(); + SafeRelease(sourceTexture2D); - ID3D11Texture2D* srcTex = NULL; - if (textureDesc.SampleDesc.Count > 1) - { - D3D11_TEXTURE2D_DESC resolveDesc; - resolveDesc.Width = textureDesc.Width; - resolveDesc.Height = textureDesc.Height; - resolveDesc.MipLevels = 1; - resolveDesc.ArraySize = 1; - resolveDesc.Format = textureDesc.Format; - resolveDesc.SampleDesc.Count = 1; - resolveDesc.SampleDesc.Quality = 0; - resolveDesc.Usage = D3D11_USAGE_DEFAULT; - resolveDesc.BindFlags = 0; - resolveDesc.CPUAccessFlags = 0; - resolveDesc.MiscFlags = 0; - - HRESULT result = device->CreateTexture2D(&resolveDesc, NULL, &srcTex); - if (FAILED(result)) - { - ERR("Failed to create resolve texture for Image11::copy, HRESULT: 0x%X.", result); - return; - } - - deviceContext->ResolveSubresource(srcTex, 0, colorBufferTexture, subresourceIndex, textureDesc.Format); - subresourceIndex = 0; - } - else + return error; +} + +gl::Error Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, const gl::ImageIndex &sourceIndex, TextureStorage *source) +{ + TextureStorage11 *sourceStorage11 = TextureStorage11::makeTextureStorage11(source); + + UINT subresourceIndex = sourceStorage11->getSubresourceIndex(sourceIndex); + ID3D11Texture2D *sourceTexture2D = d3d11::DynamicCastComObject<ID3D11Texture2D>(sourceStorage11->getResource()); + + if (!sourceTexture2D) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to retrieve the ID3D11Texture2D from the source TextureStorage."); + } + + gl::Error error = copy(xoffset, yoffset, zoffset, sourceArea, sourceTexture2D, subresourceIndex); + + SafeRelease(sourceTexture2D); + + return error; +} + +gl::Error Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, ID3D11Texture2D *source, UINT sourceSubResource) +{ + D3D11_TEXTURE2D_DESC textureDesc; + source->GetDesc(&textureDesc); + + if (textureDesc.Format == mDXGIFormat) + { + // No conversion needed-- use copyback fastpath + ID3D11Device *device = mRenderer->getDevice(); + ID3D11DeviceContext *deviceContext = mRenderer->getDeviceContext(); + + UINT subresourceAfterResolve = sourceSubResource; + + ID3D11Texture2D* srcTex = NULL; + if (textureDesc.SampleDesc.Count > 1) + { + D3D11_TEXTURE2D_DESC resolveDesc; + resolveDesc.Width = textureDesc.Width; + resolveDesc.Height = textureDesc.Height; + resolveDesc.MipLevels = 1; + resolveDesc.ArraySize = 1; + resolveDesc.Format = textureDesc.Format; + resolveDesc.SampleDesc.Count = 1; + resolveDesc.SampleDesc.Quality = 0; + resolveDesc.Usage = D3D11_USAGE_DEFAULT; + resolveDesc.BindFlags = 0; + resolveDesc.CPUAccessFlags = 0; + resolveDesc.MiscFlags = 0; + + HRESULT result = device->CreateTexture2D(&resolveDesc, NULL, &srcTex); + if (FAILED(result)) { - srcTex = colorBufferTexture; - srcTex->AddRef(); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create resolve texture for Image11::copy, HRESULT: 0x%X.", result); } - D3D11_BOX srcBox; - srcBox.left = x; - srcBox.right = x + width; - srcBox.top = y; - srcBox.bottom = y + height; - srcBox.front = 0; - srcBox.back = 1; + deviceContext->ResolveSubresource(srcTex, 0, source, sourceSubResource, textureDesc.Format); + subresourceAfterResolve = 0; + } + else + { + srcTex = source; + } + + D3D11_BOX srcBox; + srcBox.left = sourceArea.x; + srcBox.right = sourceArea.x + sourceArea.width; + srcBox.top = sourceArea.y; + srcBox.bottom = sourceArea.y + sourceArea.height; + srcBox.front = 0; + srcBox.back = 1; - deviceContext->CopySubresourceRegion(mStagingTexture, 0, xoffset, yoffset, zoffset, srcTex, subresourceIndex, &srcBox); + deviceContext->CopySubresourceRegion(getStagingTexture(), 0, xoffset, yoffset, zoffset, srcTex, subresourceAfterResolve, &srcBox); + if (textureDesc.SampleDesc.Count > 1) + { SafeRelease(srcTex); - SafeRelease(colorBufferTexture); } } else @@ -384,8 +410,7 @@ void Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y HRESULT result = map(D3D11_MAP_WRITE, &mappedImage); if (FAILED(result)) { - ERR("Failed to map texture for Image11::copy, HRESULT: 0x%X.", result); - return; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map texture for Image11::copy, HRESULT: 0x%X.", result); } // determine the offset coordinate into the destination buffer @@ -394,10 +419,19 @@ void Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(mInternalFormat); - mRenderer->readPixels(source, x, y, width, height, formatInfo.format, formatInfo.type, mappedImage.RowPitch, gl::PixelPackState(), dataOffset); + gl::Error error = mRenderer->readTextureData(source, sourceSubResource, sourceArea, formatInfo.format, formatInfo.type, mappedImage.RowPitch, gl::PixelPackState(), dataOffset); unmap(); + + if (error.isError()) + { + return error; + } } + + mDirty = true; + + return gl::Error(GL_NO_ERROR); } ID3D11Resource *Image11::getStagingTexture() diff --git a/src/libGLESv2/renderer/d3d/d3d11/Image11.h b/src/libGLESv2/renderer/d3d/d3d11/Image11.h index a76a61f0..30005ffb 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Image11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/Image11.h @@ -11,6 +11,7 @@ #define LIBGLESV2_RENDERER_IMAGE11_H_ #include "libGLESv2/renderer/d3d/ImageD3D.h" +#include "libGLESv2/ImageIndex.h" #include "common/debug.h" @@ -37,23 +38,22 @@ class Image11 : public ImageD3D virtual bool isDirty() const; - virtual bool copyToStorage2D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); - virtual bool copyToStorageCube(TextureStorage *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); - virtual bool copyToStorage3D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); - virtual bool copyToStorage2DArray(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint arrayLayer, GLsizei width, GLsizei height); + virtual gl::Error copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box ®ion); virtual bool redefine(Renderer *renderer, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool forceRelease); DXGI_FORMAT getDXGIFormat() const; - - virtual void loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLint unpackAlignment, GLenum type, const void *input); - virtual void loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - const void *input); - virtual void copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLint unpackAlignment, GLenum type, const void *input); + virtual gl::Error loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + const void *input); - bool recoverFromAssociatedStorage(); + virtual gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, RenderTarget *source); + virtual gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, + const gl::ImageIndex &sourceIndex, TextureStorage *source); + + gl::Error recoverFromAssociatedStorage(); bool isAssociatedStorageValid(TextureStorage11* textureStorage) const; void disassociateStorage(); @@ -64,7 +64,8 @@ class Image11 : public ImageD3D private: DISALLOW_COPY_AND_ASSIGN(Image11); - bool copyToStorageImpl(TextureStorage11 *storage11, int level, int layerTarget, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); + gl::Error copyToStorageImpl(TextureStorage11 *storage11, const gl::ImageIndex &index, const gl::Box ®ion); + gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, ID3D11Texture2D *source, UINT sourceSubResource); ID3D11Resource *getStagingTexture(); unsigned int getStagingSubresource(); @@ -79,8 +80,7 @@ class Image11 : public ImageD3D bool mRecoverFromStorage; TextureStorage11 *mAssociatedStorage; - int mAssociatedStorageLevel; - int mAssociatedStorageLayerTarget; + gl::ImageIndex mAssociatedImageIndex; unsigned int mRecoveredFromStorageCount; }; diff --git a/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp b/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp index b006c044..e41f238e 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp @@ -12,6 +12,7 @@ #include "libGLESv2/renderer/d3d/d3d11/Buffer11.h" #include "libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h" #include "libGLESv2/renderer/d3d/d3d11/formatutils11.h" +#include "libGLESv2/renderer/d3d/ProgramD3D.h" #include "libGLESv2/renderer/d3d/VertexDataManager.h" #include "libGLESv2/ProgramBinary.h" #include "libGLESv2/VertexAttribute.h" @@ -137,7 +138,16 @@ gl::Error InputLayoutCache::applyVertexBuffers(TranslatedAttribute attributes[gl { gl::VertexFormat shaderInputLayout[gl::MAX_VERTEX_ATTRIBS]; GetInputLayout(attributes, shaderInputLayout); - ShaderExecutable11 *shader = ShaderExecutable11::makeShaderExecutable11(programBinary->getVertexExecutableForInputLayout(shaderInputLayout)); + ProgramD3D *programD3D = ProgramD3D::makeProgramD3D(programBinary->getImplementation()); + + ShaderExecutable *shader = NULL; + gl::Error error = programD3D->getVertexExecutableForInputLayout(shaderInputLayout, &shader); + if (error.isError()) + { + return error; + } + + ShaderExecutable *shader11 = ShaderExecutable11::makeShaderExecutable11(shader); D3D11_INPUT_ELEMENT_DESC descs[gl::MAX_VERTEX_ATTRIBS]; for (unsigned int j = 0; j < ilKey.elementCount; ++j) @@ -145,7 +155,7 @@ gl::Error InputLayoutCache::applyVertexBuffers(TranslatedAttribute attributes[gl descs[j] = ilKey.elements[j].desc; } - HRESULT result = mDevice->CreateInputLayout(descs, ilKey.elementCount, shader->getFunction(), shader->getLength(), &inputLayout); + HRESULT result = mDevice->CreateInputLayout(descs, ilKey.elementCount, shader11->getFunction(), shader11->getLength(), &inputLayout); if (FAILED(result)) { return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal input layout, HRESULT: 0x%08x", result); diff --git a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp index f54baccf..0564dbcd 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp @@ -33,12 +33,38 @@ namespace rx PixelTransfer11::PixelTransfer11(Renderer11 *renderer) : mRenderer(renderer), + mResourcesLoaded(false), mBufferToTextureVS(NULL), mBufferToTextureGS(NULL), mParamsConstantBuffer(NULL), mCopyRasterizerState(NULL), mCopyDepthStencilState(NULL) { +} + +PixelTransfer11::~PixelTransfer11() +{ + for (auto shaderMapIt = mBufferToTexturePSMap.begin(); shaderMapIt != mBufferToTexturePSMap.end(); shaderMapIt++) + { + SafeRelease(shaderMapIt->second); + } + + mBufferToTexturePSMap.clear(); + + SafeRelease(mBufferToTextureVS); + SafeRelease(mBufferToTextureGS); + SafeRelease(mParamsConstantBuffer); + SafeRelease(mCopyRasterizerState); + SafeRelease(mCopyDepthStencilState); +} + +gl::Error PixelTransfer11::loadResources() +{ + if (mResourcesLoaded) + { + return gl::Error(GL_NO_ERROR); + } + HRESULT result = S_OK; ID3D11Device *device = mRenderer->getDevice(); @@ -56,6 +82,10 @@ PixelTransfer11::PixelTransfer11(Renderer11 *renderer) result = device->CreateRasterizerState(&rasterDesc, &mCopyRasterizerState); ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal pixel transfer rasterizer state, result: 0x%X.", result); + } D3D11_DEPTH_STENCIL_DESC depthStencilDesc; depthStencilDesc.DepthEnable = true; @@ -75,6 +105,10 @@ PixelTransfer11::PixelTransfer11(Renderer11 *renderer) result = device->CreateDepthStencilState(&depthStencilDesc, &mCopyDepthStencilState); ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal pixel transfer depth stencil state, result: 0x%X.", result); + } D3D11_BUFFER_DESC constantBufferDesc = { 0 }; constantBufferDesc.ByteWidth = rx::roundUp<UINT>(sizeof(CopyShaderParams), 32u); @@ -86,31 +120,36 @@ PixelTransfer11::PixelTransfer11(Renderer11 *renderer) result = device->CreateBuffer(&constantBufferDesc, NULL, &mParamsConstantBuffer); ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal pixel transfer constant buffer, result: 0x%X.", result); + } d3d11::SetDebugName(mParamsConstantBuffer, "PixelTransfer11 constant buffer"); // init shaders mBufferToTextureVS = d3d11::CompileVS(device, g_VS_BufferToTexture, "BufferToTexture VS"); - mBufferToTextureGS = d3d11::CompileGS(device, g_GS_BufferToTexture, "BufferToTexture GS"); - - buildShaderMap(); + if (!mBufferToTextureVS) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal buffer to texture vertex shader."); + } - StructZero(&mParamsData); -} + mBufferToTextureGS = d3d11::CompileGS(device, g_GS_BufferToTexture, "BufferToTexture GS"); + if (!mBufferToTextureGS) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal buffer to texture geometry shader."); + } -PixelTransfer11::~PixelTransfer11() -{ - for (auto shaderMapIt = mBufferToTexturePSMap.begin(); shaderMapIt != mBufferToTexturePSMap.end(); shaderMapIt++) + gl::Error error = buildShaderMap(); + if (error.isError()) { - SafeRelease(shaderMapIt->second); + return error; } - mBufferToTexturePSMap.clear(); + StructZero(&mParamsData); - SafeRelease(mBufferToTextureVS); - SafeRelease(mBufferToTextureGS); - SafeRelease(mParamsConstantBuffer); - SafeRelease(mCopyRasterizerState); - SafeRelease(mCopyDepthStencilState); + mResourcesLoaded = true; + + return gl::Error(GL_NO_ERROR); } void PixelTransfer11::setBufferToTextureCopyParams(const gl::Box &destArea, const gl::Extents &destSize, GLenum internalFormat, @@ -135,18 +174,21 @@ void PixelTransfer11::setBufferToTextureCopyParams(const gl::Box &destArea, cons parametersOut->PositionScale[1] = -2.0f / static_cast<float>(destSize.height); } -bool PixelTransfer11::copyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) +gl::Error PixelTransfer11::copyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) { - gl::Extents destSize = destRenderTarget->getExtents(); - - if (destArea.x < 0 || destArea.x + destArea.width > destSize.width || - destArea.y < 0 || destArea.y + destArea.height > destSize.height || - destArea.z < 0 || destArea.z + destArea.depth > destSize.depth ) + gl::Error error = loadResources(); + if (error.isError()) { - return false; + return error; } + gl::Extents destSize = destRenderTarget->getExtents(); + + ASSERT(destArea.x >= 0 && destArea.x + destArea.width <= destSize.width && + destArea.y >= 0 && destArea.y + destArea.height <= destSize.height && + destArea.z >= 0 && destArea.z + destArea.depth <= destSize.depth ); + const gl::Buffer &sourceBuffer = *unpack.pixelBuffer.get(); ASSERT(mRenderer->supportsFastCopyBufferToTexture(destinationFormat)); @@ -222,16 +264,27 @@ bool PixelTransfer11::copyBufferToTexture(const gl::PixelUnpackState &unpack, un mRenderer->markAllStateDirty(); - return true; + return gl::Error(GL_NO_ERROR); } -void PixelTransfer11::buildShaderMap() +gl::Error PixelTransfer11::buildShaderMap() { ID3D11Device *device = mRenderer->getDevice(); mBufferToTexturePSMap[GL_FLOAT] = d3d11::CompilePS(device, g_PS_BufferToTexture_4F, "BufferToTexture RGBA ps"); mBufferToTexturePSMap[GL_INT] = d3d11::CompilePS(device, g_PS_BufferToTexture_4I, "BufferToTexture RGBA-I ps"); mBufferToTexturePSMap[GL_UNSIGNED_INT] = d3d11::CompilePS(device, g_PS_BufferToTexture_4UI, "BufferToTexture RGBA-UI ps"); + + // Check that all the shaders were created successfully + for (auto shaderMapIt = mBufferToTexturePSMap.begin(); shaderMapIt != mBufferToTexturePSMap.end(); shaderMapIt++) + { + if (shaderMapIt->second == NULL) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal buffer to texture pixel shader."); + } + } + + return gl::Error(GL_NO_ERROR); } ID3D11PixelShader *PixelTransfer11::findBufferToTexturePS(GLenum internalFormat) const diff --git a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h index ed1a3ae1..29552140 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h @@ -11,6 +11,8 @@ #ifndef LIBGLESV2_PIXELTRANSFER11_H_ #define LIBGLESV2_PIXELTRANSFER11_H_ +#include "libGLESv2/Error.h" + #include "common/platform.h" #include <GLES2/gl2.h> @@ -38,15 +40,13 @@ class PixelTransfer11 explicit PixelTransfer11(Renderer11 *renderer); ~PixelTransfer11(); - static bool supportsBufferToTextureCopy(GLenum internalFormat); - // unpack: the source buffer is stored in the unpack state, and buffer strides // offset: the start of the data within the unpack buffer // destRenderTarget: individual slice/layer of a target texture // destinationFormat/sourcePixelsType: determines shaders + shader parameters // destArea: the sub-section of destRenderTarget to copy to - bool copyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea); + gl::Error copyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea); private: @@ -65,11 +65,13 @@ class PixelTransfer11 static void setBufferToTextureCopyParams(const gl::Box &destArea, const gl::Extents &destSize, GLenum internalFormat, const gl::PixelUnpackState &unpack, unsigned int offset, CopyShaderParams *parametersOut); - void buildShaderMap(); + gl::Error loadResources(); + gl::Error buildShaderMap(); ID3D11PixelShader *findBufferToTexturePS(GLenum internalFormat) const; Renderer11 *mRenderer; + bool mResourcesLoaded; std::map<GLenum, ID3D11PixelShader *> mBufferToTexturePSMap; ID3D11VertexShader *mBufferToTextureVS; ID3D11GeometryShader *mBufferToTextureGS; diff --git a/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp index 7109be3e..7d0eb7c0 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp @@ -10,6 +10,7 @@ #include "libGLESv2/renderer/d3d/d3d11/Renderer11.h" #include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h" #include "libGLESv2/main.h" +#include "common/utilities.h" #include <GLES2/gl2ext.h> diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp index c93def8b..b60c4785 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp @@ -11,6 +11,7 @@ #include "libGLESv2/FramebufferAttachment.h" #include "libGLESv2/ProgramBinary.h" #include "libGLESv2/Framebuffer.h" +#include "libGLESv2/State.h" #include "libGLESv2/renderer/d3d/ProgramD3D.h" #include "libGLESv2/renderer/d3d/ShaderD3D.h" #include "libGLESv2/renderer/d3d/TextureD3D.h" @@ -39,6 +40,7 @@ #include "libEGL/Display.h" #include "common/utilities.h" +#include "common/tls.h" #include <EGL/eglext.h> @@ -58,6 +60,9 @@ namespace rx { + +namespace +{ static const DXGI_FORMAT RenderTargetFormats[] = { DXGI_FORMAT_B8G8R8A8_UNORM, @@ -76,6 +81,34 @@ enum MAX_TEXTURE_IMAGE_UNITS_VTF_SM4 = 16 }; +// Does *not* increment the resource ref count!! +ID3D11Resource *GetSRVResource(ID3D11ShaderResourceView *srv) +{ + ID3D11Resource *resource = NULL; + ASSERT(srv); + srv->GetResource(&resource); + resource->Release(); + return resource; +} + +bool UnsetSRVsWithResource(std::vector<ID3D11ShaderResourceView *> &srvs, const ID3D11Resource *resource) +{ + bool foundAny = false; + + for (auto &srv : srvs) + { + if (srv && GetSRVResource(srv) == resource) + { + srv = NULL; + foundAny = true; + } + } + + return foundAny; +} + +} + Renderer11::Renderer11(egl::Display *display, EGLNativeDisplayType hDc, EGLint requestedDisplay) : Renderer(display), mDc(hDc), @@ -135,6 +168,7 @@ EGLint Renderer11::initialize() return EGL_NOT_INITIALIZED; } +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) mDxgiModule = LoadLibrary(TEXT("dxgi.dll")); mD3d11Module = LoadLibrary(TEXT("d3d11.dll")); @@ -153,6 +187,7 @@ EGLint Renderer11::initialize() ERR("Could not retrieve D3D11CreateDevice address - aborting!\n"); return EGL_NOT_INITIALIZED; } +#endif D3D_FEATURE_LEVEL featureLevels[] = { @@ -207,6 +242,7 @@ EGLint Renderer11::initialize() } } +#if !defined(ANGLE_ENABLE_WINDOWS_STORE) #if !ANGLE_SKIP_DXGI_1_2_CHECK // In order to create a swap chain for an HWND owned by another process, DXGI 1.2 is required. // The easiest way to check is to query for a IDXGIDevice2. @@ -236,6 +272,7 @@ EGLint Renderer11::initialize() SafeRelease(dxgiDevice2); } #endif +#endif IDXGIDevice *dxgiDevice = NULL; result = mDevice->QueryInterface(__uuidof(IDXGIDevice), (void**)&dxgiDevice); @@ -369,7 +406,7 @@ void Renderer11::deleteConfigs(ConfigDesc *configDescList) delete [] (configDescList); } -void Renderer11::sync(bool block) +gl::Error Renderer11::sync(bool block) { if (block) { @@ -383,6 +420,10 @@ void Renderer11::sync(bool block) result = mDevice->CreateQuery(&queryDesc, &mSyncQuery); ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create event query, result: 0x%X.", result); + } } mDeviceContext->End(mSyncQuery); @@ -391,13 +432,17 @@ void Renderer11::sync(bool block) do { result = mDeviceContext->GetData(mSyncQuery, NULL, 0, D3D11_ASYNC_GETDATA_DONOTFLUSH); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to get event query data, result: 0x%X.", result); + } // Keep polling, but allow other threads to do something useful first Sleep(0); if (testDeviceLost(true)) { - return; + return gl::Error(GL_OUT_OF_MEMORY, "Device was lost while waiting for sync."); } } while (result == S_FALSE); @@ -406,50 +451,64 @@ void Renderer11::sync(bool block) { mDeviceContext->Flush(); } + + return gl::Error(GL_NO_ERROR); } -SwapChain *Renderer11::createSwapChain(HWND window, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) +SwapChain *Renderer11::createSwapChain(rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) { - return new rx::SwapChain11(this, window, shareHandle, backBufferFormat, depthBufferFormat); + return new rx::SwapChain11(this, nativeWindow, shareHandle, backBufferFormat, depthBufferFormat); } -void Renderer11::generateSwizzle(gl::Texture *texture) +gl::Error Renderer11::generateSwizzle(gl::Texture *texture) { if (texture) { - TextureStorage *texStorage = texture->getNativeTexture(); + TextureD3D *textureD3D = TextureD3D::makeTextureD3D(texture->getImplementation()); + ASSERT(textureD3D); + + TextureStorage *texStorage = textureD3D->getNativeTexture(); if (texStorage) { TextureStorage11 *storage11 = TextureStorage11::makeTextureStorage11(texStorage); - - storage11->generateSwizzles(texture->getSamplerState().swizzleRed, - texture->getSamplerState().swizzleGreen, - texture->getSamplerState().swizzleBlue, - texture->getSamplerState().swizzleAlpha); + gl::Error error = storage11->generateSwizzles(texture->getSamplerState().swizzleRed, + texture->getSamplerState().swizzleGreen, + texture->getSamplerState().swizzleBlue, + texture->getSamplerState().swizzleAlpha); + if (error.isError()) + { + return error; + } } } + + return gl::Error(GL_NO_ERROR); } -void Renderer11::setSamplerState(gl::SamplerType type, int index, const gl::SamplerState &samplerState) +gl::Error Renderer11::setSamplerState(gl::SamplerType type, int index, gl::Texture *texture, const gl::SamplerState &samplerStateParam) { + // Make sure to add the level offset for our tiny compressed texture workaround + TextureD3D *textureD3D = TextureD3D::makeTextureD3D(texture->getImplementation()); + gl::SamplerState samplerStateInternal = samplerStateParam; + samplerStateInternal.baseLevel += textureD3D->getNativeTexture()->getTopLevel(); + if (type == gl::SAMPLER_PIXEL) { ASSERT(static_cast<unsigned int>(index) < getRendererCaps().maxTextureImageUnits); - if (mForceSetPixelSamplerStates[index] || memcmp(&samplerState, &mCurPixelSamplerStates[index], sizeof(gl::SamplerState)) != 0) + if (mForceSetPixelSamplerStates[index] || memcmp(&samplerStateInternal, &mCurPixelSamplerStates[index], sizeof(gl::SamplerState)) != 0) { ID3D11SamplerState *dxSamplerState = NULL; - gl::Error error = mStateCache.getSamplerState(samplerState, &dxSamplerState); + gl::Error error = mStateCache.getSamplerState(samplerStateInternal, &dxSamplerState); if (error.isError()) { - ERR("NULL sampler state returned by RenderStateCache::getSamplerState, setting the default" - "sampler state for pixel shaders at slot %i.", index); - dxSamplerState = NULL; + return error; } + ASSERT(dxSamplerState != NULL); mDeviceContext->PSSetSamplers(index, 1, &dxSamplerState); - mCurPixelSamplerStates[index] = samplerState; + mCurPixelSamplerStates[index] = samplerStateInternal; } mForceSetPixelSamplerStates[index] = false; @@ -458,28 +517,29 @@ void Renderer11::setSamplerState(gl::SamplerType type, int index, const gl::Samp { ASSERT(static_cast<unsigned int>(index) < getRendererCaps().maxVertexTextureImageUnits); - if (mForceSetVertexSamplerStates[index] || memcmp(&samplerState, &mCurVertexSamplerStates[index], sizeof(gl::SamplerState)) != 0) + if (mForceSetVertexSamplerStates[index] || memcmp(&samplerStateInternal, &mCurVertexSamplerStates[index], sizeof(gl::SamplerState)) != 0) { ID3D11SamplerState *dxSamplerState = NULL; - gl::Error error = mStateCache.getSamplerState(samplerState, &dxSamplerState); + gl::Error error = mStateCache.getSamplerState(samplerStateInternal, &dxSamplerState); if (error.isError()) { - ERR("NULL sampler state returned by RenderStateCache::getSamplerState, setting the default" - "sampler state for vertex shaders at slot %i.", index); - dxSamplerState = NULL; + return error; } + ASSERT(dxSamplerState != NULL); mDeviceContext->VSSetSamplers(index, 1, &dxSamplerState); - mCurVertexSamplerStates[index] = samplerState; + mCurVertexSamplerStates[index] = samplerStateInternal; } mForceSetVertexSamplerStates[index] = false; } else UNREACHABLE(); + + return gl::Error(GL_NO_ERROR); } -void Renderer11::setTexture(gl::SamplerType type, int index, gl::Texture *texture) +gl::Error Renderer11::setTexture(gl::SamplerType type, int index, gl::Texture *texture) { ID3D11ShaderResourceView *textureSRV = NULL; bool forceSetTexture = false; @@ -487,14 +547,19 @@ void Renderer11::setTexture(gl::SamplerType type, int index, gl::Texture *textur if (texture) { TextureD3D* textureImpl = TextureD3D::makeTextureD3D(texture->getImplementation()); - TextureStorage *texStorage = textureImpl->getNativeTexture(); - if (texStorage) + ASSERT(texStorage != NULL); + + TextureStorage11 *storage11 = TextureStorage11::makeTextureStorage11(texStorage); + + // Make sure to add the level offset for our tiny compressed texture workaround + gl::SamplerState samplerState = texture->getSamplerState(); + samplerState.baseLevel += storage11->getTopLevel(); + + gl::Error error = storage11->getSRV(samplerState, &textureSRV); + if (error.isError()) { - TextureStorage11 *storage11 = TextureStorage11::makeTextureStorage11(texStorage); - gl::SamplerState samplerState; - texture->getSamplerStateWithNativeOffset(&samplerState); - textureSRV = storage11->getSRV(samplerState); + return error; } // If we get NULL back from getSRV here, something went wrong in the texture class and we're unexpectedly @@ -528,9 +593,11 @@ void Renderer11::setTexture(gl::SamplerType type, int index, gl::Texture *textur mCurVertexSRVs[index] = textureSRV; } else UNREACHABLE(); + + return gl::Error(GL_NO_ERROR); } -bool Renderer11::setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]) +gl::Error Renderer11::setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]) { for (unsigned int uniformBufferIndex = 0; uniformBufferIndex < gl::IMPLEMENTATION_MAX_VERTEX_SHADER_UNIFORM_BUFFERS; uniformBufferIndex++) { @@ -542,7 +609,7 @@ bool Renderer11::setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], con if (!constantBuffer) { - return false; + return gl::Error(GL_OUT_OF_MEMORY); } if (mCurrentConstantBufferVS[uniformBufferIndex] != bufferStorage->getSerial()) @@ -564,7 +631,7 @@ bool Renderer11::setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], con if (!constantBuffer) { - return false; + return gl::Error(GL_OUT_OF_MEMORY); } if (mCurrentConstantBufferPS[uniformBufferIndex] != bufferStorage->getSerial()) @@ -576,10 +643,10 @@ bool Renderer11::setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], con } } - return true; + return gl::Error(GL_NO_ERROR); } -void Renderer11::setRasterizerState(const gl::RasterizerState &rasterState) +gl::Error Renderer11::setRasterizerState(const gl::RasterizerState &rasterState) { if (mForceSetRasterState || memcmp(&rasterState, &mCurRasterState, sizeof(gl::RasterizerState)) != 0) { @@ -587,9 +654,7 @@ void Renderer11::setRasterizerState(const gl::RasterizerState &rasterState) gl::Error error = mStateCache.getRasterizerState(rasterState, mScissorEnabled, &dxRasterState); if (error.isError()) { - ERR("NULL rasterizer state returned by RenderStateCache::getRasterizerState, setting the default" - "rasterizer state."); - dxRasterState = NULL; + return error; } mDeviceContext->RSSetState(dxRasterState); @@ -598,10 +663,12 @@ void Renderer11::setRasterizerState(const gl::RasterizerState &rasterState) } mForceSetRasterState = false; + + return gl::Error(GL_NO_ERROR); } -void Renderer11::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, - unsigned int sampleMask) +gl::Error Renderer11::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, + unsigned int sampleMask) { if (mForceSetBlendState || memcmp(&blendState, &mCurBlendState, sizeof(gl::BlendState)) != 0 || @@ -612,11 +679,11 @@ void Renderer11::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendStat gl::Error error = mStateCache.getBlendState(framebuffer, blendState, &dxBlendState); if (error.isError()) { - ERR("NULL blend state returned by RenderStateCache::getBlendState, setting the default " - "blend state."); - dxBlendState = NULL; + return error; } + ASSERT(dxBlendState != NULL); + float blendColors[4] = {0.0f}; if (blendState.sourceBlendRGB != GL_CONSTANT_ALPHA && blendState.sourceBlendRGB != GL_ONE_MINUS_CONSTANT_ALPHA && blendState.destBlendRGB != GL_CONSTANT_ALPHA && blendState.destBlendRGB != GL_ONE_MINUS_CONSTANT_ALPHA) @@ -642,10 +709,12 @@ void Renderer11::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendStat } mForceSetBlendState = false; + + return gl::Error(GL_NO_ERROR); } -void Renderer11::setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, - int stencilBackRef, bool frontFaceCCW) +gl::Error Renderer11::setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, + int stencilBackRef, bool frontFaceCCW) { if (mForceSetDepthStencilState || memcmp(&depthStencilState, &mCurDepthStencilState, sizeof(gl::DepthStencilState)) != 0 || @@ -659,11 +728,11 @@ void Renderer11::setDepthStencilState(const gl::DepthStencilState &depthStencilS gl::Error error = mStateCache.getDepthStencilState(depthStencilState, &dxDepthStencilState); if (error.isError()) { - ERR("NULL depth stencil state returned by RenderStateCache::getDepthStencilState, " - "setting the default depth stencil state."); - dxDepthStencilState = NULL; + return error; } + ASSERT(dxDepthStencilState); + // Max D3D11 stencil reference value is 0xFF, corresponding to the max 8 bits in a stencil buffer // GL specifies we should clamp the ref value to the nearest bit depth when doing stencil ops META_ASSERT(D3D11_DEFAULT_STENCIL_READ_MASK == 0xFF); @@ -678,6 +747,8 @@ void Renderer11::setDepthStencilState(const gl::DepthStencilState &depthStencilS } mForceSetDepthStencilState = false; + + return gl::Error(GL_NO_ERROR); } void Renderer11::setScissorRectangle(const gl::Rectangle &scissor, bool enabled) @@ -796,7 +867,7 @@ bool Renderer11::applyPrimitiveType(GLenum mode, GLsizei count) return count >= minCount; } -bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) +gl::Error Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) { // Get the color render buffer and serial // Also extract the render target dimensions and view @@ -822,25 +893,22 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) // this will not report any gl error but will cause the calling method to return. if (colorbuffer->getWidth() == 0 || colorbuffer->getHeight() == 0) { - return false; + return gl::Error(GL_NO_ERROR); } renderTargetSerials[colorAttachment] = GetAttachmentSerial(colorbuffer); // Extract the render target dimensions and view - RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); - if (!renderTarget) + RenderTarget11 *renderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(colorbuffer, &renderTarget); + if (error.isError()) { - ERR("render target pointer unexpectedly null."); - return false; + return error; } + ASSERT(renderTarget); framebufferRTVs[colorAttachment] = renderTarget->getRenderTargetView(); - if (!framebufferRTVs[colorAttachment]) - { - ERR("render target view pointer unexpectedly null."); - return false; - } + ASSERT(framebufferRTVs[colorAttachment]); if (missingColorRenderTarget) { @@ -850,8 +918,21 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) missingColorRenderTarget = false; } - // TODO: Detect if this color buffer is already bound as a texture and unbind it first to prevent - // D3D11 warnings. +#if !defined(NDEBUG) + // Detect if this color buffer is already bound as a texture and unbind it first to prevent + // D3D11 warnings. + ID3D11Resource *renderTargetResource = renderTarget->getTexture(); + + if (UnsetSRVsWithResource(mCurVertexSRVs, renderTargetResource)) + { + mDeviceContext->VSSetShaderResources(0, static_cast<UINT>(mCurVertexSRVs.size()), mCurVertexSRVs.data()); + } + + if (UnsetSRVsWithResource(mCurPixelSRVs, renderTargetResource)) + { + mDeviceContext->PSSetShaderResources(0, static_cast<UINT>(mCurPixelSRVs.size()), mCurPixelSRVs.data()); + } +#endif } } @@ -872,21 +953,17 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) ID3D11DepthStencilView* framebufferDSV = NULL; if (depthStencil) { - RenderTarget11 *depthStencilRenderTarget = d3d11::GetAttachmentRenderTarget(depthStencil); - if (!depthStencilRenderTarget) + RenderTarget11 *depthStencilRenderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(depthStencil, &depthStencilRenderTarget); + if (error.isError()) { - ERR("render target pointer unexpectedly null."); SafeRelease(framebufferRTVs); - return false; + return error; } + ASSERT(depthStencilRenderTarget); framebufferDSV = depthStencilRenderTarget->getDepthStencilView(); - if (!framebufferDSV) - { - ERR("depth stencil view pointer unexpectedly null."); - SafeRelease(framebufferRTVs); - return false; - } + ASSERT(framebufferDSV); // If there is no render buffer, the width, height and format values come from // the depth stencil @@ -930,20 +1007,19 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) invalidateFramebufferSwizzles(framebuffer); - return true; + return gl::Error(GL_NO_ERROR); } -gl::Error Renderer11::applyVertexBuffer(gl::ProgramBinary *programBinary, const gl::VertexAttribute vertexAttributes[], const gl::VertexAttribCurrentValueData currentValues[], - GLint first, GLsizei count, GLsizei instances) +gl::Error Renderer11::applyVertexBuffer(const gl::State &state, GLint first, GLsizei count, GLsizei instances) { TranslatedAttribute attributes[gl::MAX_VERTEX_ATTRIBS]; - gl::Error error = mVertexDataManager->prepareVertexData(vertexAttributes, currentValues, programBinary, first, count, attributes, instances); + gl::Error error = mVertexDataManager->prepareVertexData(state, first, count, attributes, instances); if (error.isError()) { return error; } - return mInputLayoutCache.applyVertexBuffers(attributes, programBinary); + return mInputLayoutCache.applyVertexBuffers(attributes, state.getCurrentProgramBinary()); } gl::Error Renderer11::applyIndexBuffer(const GLvoid *indices, gl::Buffer *elementArrayBuffer, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo) @@ -980,28 +1056,25 @@ gl::Error Renderer11::applyIndexBuffer(const GLvoid *indices, gl::Buffer *elemen return gl::Error(GL_NO_ERROR); } -void Renderer11::applyTransformFeedbackBuffers(gl::Buffer *transformFeedbackBuffers[], GLintptr offsets[]) +void Renderer11::applyTransformFeedbackBuffers(const gl::State& state) { - ID3D11Buffer* d3dBuffers[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; - UINT d3dOffsets[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; + size_t numXFBBindings = state.getTransformFeedbackBufferIndexRange(); + ASSERT(numXFBBindings <= gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS); + bool requiresUpdate = false; - for (size_t i = 0; i < gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS; i++) + for (size_t i = 0; i < numXFBBindings; i++) { - if (transformFeedbackBuffers[i]) - { - Buffer11 *storage = Buffer11::makeBuffer11(transformFeedbackBuffers[i]->getImplementation()); - ID3D11Buffer *buffer = storage->getBuffer(BUFFER_USAGE_VERTEX_OR_TRANSFORM_FEEDBACK); - - d3dBuffers[i] = buffer; - d3dOffsets[i] = (mAppliedTFBuffers[i] != buffer) ? static_cast<UINT>(offsets[i]) : -1; - } - else + gl::Buffer *curXFBBuffer = state.getIndexedTransformFeedbackBuffer(i); + GLintptr curXFBOffset = state.getIndexedTransformFeedbackBufferOffset(i); + ID3D11Buffer *d3dBuffer = NULL; + if (curXFBBuffer) { - d3dBuffers[i] = NULL; - d3dOffsets[i] = 0; + Buffer11 *storage = Buffer11::makeBuffer11(curXFBBuffer->getImplementation()); + d3dBuffer = storage->getBuffer(BUFFER_USAGE_VERTEX_OR_TRANSFORM_FEEDBACK); } - if (d3dBuffers[i] != mAppliedTFBuffers[i] || offsets[i] != mAppliedTFOffsets[i]) + // TODO: mAppliedTFBuffers and friends should also be kept in a vector. + if (d3dBuffer != mAppliedTFBuffers[i] || curXFBOffset != mAppliedTFOffsets[i]) { requiresUpdate = true; } @@ -1009,16 +1082,33 @@ void Renderer11::applyTransformFeedbackBuffers(gl::Buffer *transformFeedbackBuff if (requiresUpdate) { - mDeviceContext->SOSetTargets(ArraySize(d3dBuffers), d3dBuffers, d3dOffsets); - for (size_t i = 0; i < gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS; i++) + for (size_t i = 0; i < numXFBBindings; ++i) { - mAppliedTFBuffers[i] = d3dBuffers[i]; - mAppliedTFOffsets[i] = offsets[i]; + gl::Buffer *curXFBBuffer = state.getIndexedTransformFeedbackBuffer(i); + GLintptr curXFBOffset = state.getIndexedTransformFeedbackBufferOffset(i); + + if (curXFBBuffer) + { + Buffer11 *storage = Buffer11::makeBuffer11(curXFBBuffer->getImplementation()); + ID3D11Buffer *d3dBuffer = storage->getBuffer(BUFFER_USAGE_VERTEX_OR_TRANSFORM_FEEDBACK); + + mCurrentD3DOffsets[i] = (mAppliedTFBuffers[i] != d3dBuffer && mAppliedTFOffsets[i] != curXFBOffset) ? + static_cast<UINT>(curXFBOffset) : -1; + mAppliedTFBuffers[i] = d3dBuffer; + } + else + { + mAppliedTFBuffers[i] = NULL; + mCurrentD3DOffsets[i] = 0; + } + mAppliedTFOffsets[i] = curXFBOffset; } + + mDeviceContext->SOSetTargets(numXFBBindings, mAppliedTFBuffers, mCurrentD3DOffsets); } } -void Renderer11::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive) +gl::Error Renderer11::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive) { if (mode == GL_POINTS && transformFeedbackActive) { @@ -1051,49 +1141,55 @@ void Renderer11::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool } mDeviceContext->GSSetShader(mAppliedGeometryShader, NULL, 0); + + return gl::Error(GL_NO_ERROR); } else if (mode == GL_LINE_LOOP) { - drawLineLoop(count, GL_NONE, NULL, 0, NULL); + return drawLineLoop(count, GL_NONE, NULL, 0, NULL); } else if (mode == GL_TRIANGLE_FAN) { - drawTriangleFan(count, GL_NONE, NULL, 0, NULL, instances); + return drawTriangleFan(count, GL_NONE, NULL, 0, NULL, instances); } else if (instances > 0) { mDeviceContext->DrawInstanced(count, instances, 0, 0); + return gl::Error(GL_NO_ERROR); } else { mDeviceContext->Draw(count, 0); + return gl::Error(GL_NO_ERROR); } } -void Renderer11::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, - gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances) +gl::Error Renderer11::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, + gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances) { int minIndex = static_cast<int>(indexInfo.indexRange.start); if (mode == GL_LINE_LOOP) { - drawLineLoop(count, type, indices, minIndex, elementArrayBuffer); + return drawLineLoop(count, type, indices, minIndex, elementArrayBuffer); } else if (mode == GL_TRIANGLE_FAN) { - drawTriangleFan(count, type, indices, minIndex, elementArrayBuffer, instances); + return drawTriangleFan(count, type, indices, minIndex, elementArrayBuffer, instances); } else if (instances > 0) { mDeviceContext->DrawIndexedInstanced(count, instances, 0, -minIndex, 0); + return gl::Error(GL_NO_ERROR); } else { mDeviceContext->DrawIndexed(count, 0, -minIndex); + return gl::Error(GL_NO_ERROR); } } -void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer) +gl::Error Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer) { // Get the raw indices for an indexed draw if (type != GL_NONE && elementArrayBuffer) @@ -1111,9 +1207,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, if (error.isError()) { SafeDelete(mLineLoopIB); - - ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } } @@ -1122,16 +1216,14 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, if (static_cast<unsigned int>(count) + 1 > (std::numeric_limits<unsigned int>::max() / sizeof(unsigned int))) { - ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP, too many indices required."); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create a 32-bit looping index buffer for GL_LINE_LOOP, too many indices required."); } const unsigned int spaceNeeded = (static_cast<unsigned int>(count) + 1) * sizeof(unsigned int); gl::Error error = mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT); if (error.isError()) { - ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } void* mappedMemory = NULL; @@ -1139,8 +1231,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, error = mLineLoopIB->mapBuffer(spaceNeeded, &mappedMemory, &offset); if (error.isError()) { - ERR("Could not map index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory); @@ -1182,8 +1273,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, error = mLineLoopIB->unmapBuffer(); if (error.isError()) { - ERR("Could not unmap index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } IndexBuffer11 *indexBuffer = IndexBuffer11::makeIndexBuffer11(mLineLoopIB->getIndexBuffer()); @@ -1199,9 +1289,11 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, } mDeviceContext->DrawIndexed(count + 1, 0, -minIndex); + + return gl::Error(GL_NO_ERROR); } -void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer, int instances) +gl::Error Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer, int instances) { // Get the raw indices for an indexed draw if (type != GL_NONE && elementArrayBuffer) @@ -1219,9 +1311,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic if (error.isError()) { SafeDelete(mTriangleFanIB); - - ERR("Could not create a scratch index buffer for GL_TRIANGLE_FAN."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } } @@ -1232,16 +1322,14 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic if (numTris > (std::numeric_limits<unsigned int>::max() / (sizeof(unsigned int) * 3))) { - ERR("Could not create a scratch index buffer for GL_TRIANGLE_FAN, too many indices required."); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create a scratch index buffer for GL_TRIANGLE_FAN, too many indices required."); } const unsigned int spaceNeeded = (numTris * 3) * sizeof(unsigned int); gl::Error error = mTriangleFanIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT); if (error.isError()) { - ERR("Could not reserve enough space in scratch index buffer for GL_TRIANGLE_FAN."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } void* mappedMemory = NULL; @@ -1249,8 +1337,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic error = mTriangleFanIB->mapBuffer(spaceNeeded, &mappedMemory, &offset); if (error.isError()) { - ERR("Could not map scratch index buffer for GL_TRIANGLE_FAN."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory); @@ -1296,8 +1383,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic error = mTriangleFanIB->unmapBuffer(); if (error.isError()) { - ERR("Could not unmap scratch index buffer for GL_TRIANGLE_FAN."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } IndexBuffer11 *indexBuffer = IndexBuffer11::makeIndexBuffer11(mTriangleFanIB->getIndexBuffer()); @@ -1320,14 +1406,30 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic { mDeviceContext->DrawIndexed(numTris * 3, 0, -minIndex); } + + return gl::Error(GL_NO_ERROR); } -void Renderer11::applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, - bool rasterizerDiscard, bool transformFeedbackActive) +gl::Error Renderer11::applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, + bool rasterizerDiscard, bool transformFeedbackActive) { - ShaderExecutable *vertexExe = programBinary->getVertexExecutableForInputLayout(inputLayout); - ShaderExecutable *pixelExe = programBinary->getPixelExecutableForFramebuffer(framebuffer); - ShaderExecutable *geometryExe = programBinary->getGeometryExecutable(); + ProgramD3D *programD3D = ProgramD3D::makeProgramD3D(programBinary->getImplementation()); + + ShaderExecutable *vertexExe = NULL; + gl::Error error = programD3D->getVertexExecutableForInputLayout(inputLayout, &vertexExe); + if (error.isError()) + { + return error; + } + + ShaderExecutable *pixelExe = NULL; + error = programD3D->getPixelExecutableForFramebuffer(framebuffer, &pixelExe); + if (error.isError()) + { + return error; + } + + ShaderExecutable *geometryExe = programD3D->getGeometryExecutable(); ID3D11VertexShader *vertexShader = (vertexExe ? ShaderExecutable11::makeShaderExecutable11(vertexExe)->getVertexShader() : NULL); @@ -1384,12 +1486,12 @@ void Renderer11::applyShaders(gl::ProgramBinary *programBinary, const gl::Vertex { programBinary->dirtyAllUniforms(); } + + return gl::Error(GL_NO_ERROR); } -void Renderer11::applyUniforms(const gl::ProgramBinary &programBinary) +gl::Error Renderer11::applyUniforms(const ProgramImpl &program, const std::vector<gl::LinkedUniform*> &uniformArray) { - const std::vector<gl::LinkedUniform*> &uniformArray = programBinary.getUniforms(); - unsigned int totalRegisterCountVS = 0; unsigned int totalRegisterCountPS = 0; @@ -1413,7 +1515,7 @@ void Renderer11::applyUniforms(const gl::ProgramBinary &programBinary) } } - const ProgramD3D *programD3D = ProgramD3D::makeProgramD3D(programBinary.getImplementation()); + const ProgramD3D *programD3D = ProgramD3D::makeProgramD3D(&program); const UniformStorage11 *vertexUniformStorage = UniformStorage11::makeUniformStorage11(&programD3D->getVertexUniformStorage()); const UniformStorage11 *fragmentUniformStorage = UniformStorage11::makeUniformStorage11(&programD3D->getFragmentUniformStorage()); ASSERT(vertexUniformStorage); @@ -1541,6 +1643,8 @@ void Renderer11::applyUniforms(const gl::ProgramBinary &programBinary) mDeviceContext->GSSetConstantBuffers(0, 1, &mDriverConstantBufferPS); mCurrentGeometryConstantBuffer = mDriverConstantBufferPS; } + + return gl::Error(GL_NO_ERROR); } gl::Error Renderer11::clear(const gl::ClearParameters &clearParams, gl::Framebuffer *frameBuffer) @@ -1873,119 +1977,37 @@ int Renderer11::getMaxSwapInterval() const return 4; } -bool Renderer11::copyToRenderTarget2D(TextureStorage *dest, TextureStorage *source) -{ - if (source && dest) - { - TextureStorage11_2D *source11 = TextureStorage11_2D::makeTextureStorage11_2D(source); - TextureStorage11_2D *dest11 = TextureStorage11_2D::makeTextureStorage11_2D(dest); - - mDeviceContext->CopyResource(dest11->getResource(), source11->getResource()); - - dest11->invalidateSwizzleCache(); - - return true; - } - - return false; -} - -bool Renderer11::copyToRenderTargetCube(TextureStorage *dest, TextureStorage *source) -{ - if (source && dest) - { - TextureStorage11_Cube *source11 = TextureStorage11_Cube::makeTextureStorage11_Cube(source); - TextureStorage11_Cube *dest11 = TextureStorage11_Cube::makeTextureStorage11_Cube(dest); - - mDeviceContext->CopyResource(dest11->getResource(), source11->getResource()); - - dest11->invalidateSwizzleCache(); - - return true; - } - - return false; -} - -bool Renderer11::copyToRenderTarget3D(TextureStorage *dest, TextureStorage *source) -{ - if (source && dest) - { - TextureStorage11_3D *source11 = TextureStorage11_3D::makeTextureStorage11_3D(source); - TextureStorage11_3D *dest11 = TextureStorage11_3D::makeTextureStorage11_3D(dest); - - mDeviceContext->CopyResource(dest11->getResource(), source11->getResource()); - - dest11->invalidateSwizzleCache(); - - return true; - } - - return false; -} - -bool Renderer11::copyToRenderTarget2DArray(TextureStorage *dest, TextureStorage *source) -{ - if (source && dest) - { - TextureStorage11_2DArray *source11 = TextureStorage11_2DArray::makeTextureStorage11_2DArray(source); - TextureStorage11_2DArray *dest11 = TextureStorage11_2DArray::makeTextureStorage11_2DArray(dest); - - mDeviceContext->CopyResource(dest11->getResource(), source11->getResource()); - - dest11->invalidateSwizzleCache(); - - return true; - } - - return false; -} - -bool Renderer11::copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) +gl::Error Renderer11::copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) { gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer(); - if (!colorbuffer) - { - ERR("Failed to retrieve the color buffer from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(colorbuffer); - RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); - if (!sourceRenderTarget) + RenderTarget11 *sourceRenderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(colorbuffer, &sourceRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(sourceRenderTarget); ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView(); - if (!source) - { - ERR("Failed to retrieve the render target view from the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(source); TextureStorage11_2D *storage11 = TextureStorage11_2D::makeTextureStorage11_2D(storage); - if (!storage11) - { - ERR("Failed to retrieve the texture storage from the destination."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(storage11); gl::ImageIndex index = gl::ImageIndex::Make2D(level); - RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index)); - if (!destRenderTarget) + RenderTarget *destRenderTarget = NULL; + error = storage11->getRenderTarget(index, &destRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the destination storage."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(destRenderTarget); - ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView(); - if (!dest) - { - ERR("Failed to retrieve the render target view from the destination render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ID3D11RenderTargetView *dest = RenderTarget11::makeRenderTarget11(destRenderTarget)->getRenderTargetView(); + ASSERT(dest); gl::Box sourceArea(sourceRect.x, sourceRect.y, 0, sourceRect.width, sourceRect.height, 1); gl::Extents sourceSize(sourceRenderTarget->getWidth(), sourceRenderTarget->getHeight(), 1); @@ -1995,59 +2017,48 @@ bool Renderer11::copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle & // Use nearest filtering because source and destination are the same size for the direct // copy - bool ret = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, - destFormat, GL_NEAREST); + mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, destFormat, GL_NEAREST); + if (error.isError()) + { + return error; + } storage11->invalidateSwizzleCacheLevel(level); - return ret; + return gl::Error(GL_NO_ERROR); } -bool Renderer11::copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) +gl::Error Renderer11::copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) { gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer(); - if (!colorbuffer) - { - ERR("Failed to retrieve the color buffer from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(colorbuffer); - RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); - if (!sourceRenderTarget) + RenderTarget11 *sourceRenderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(colorbuffer, &sourceRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(sourceRenderTarget); ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView(); - if (!source) - { - ERR("Failed to retrieve the render target view from the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(source); TextureStorage11_Cube *storage11 = TextureStorage11_Cube::makeTextureStorage11_Cube(storage); - if (!storage11) - { - ERR("Failed to retrieve the texture storage from the destination."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(storage11); gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level); - RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index)); - if (!destRenderTarget) + RenderTarget *destRenderTarget = NULL; + error = storage11->getRenderTarget(index, &destRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the destination storage."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(destRenderTarget); - ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView(); - if (!dest) - { - ERR("Failed to retrieve the render target view from the destination render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ID3D11RenderTargetView *dest = RenderTarget11::makeRenderTarget11(destRenderTarget)->getRenderTargetView(); + ASSERT(dest); gl::Box sourceArea(sourceRect.x, sourceRect.y, 0, sourceRect.width, sourceRect.height, 1); gl::Extents sourceSize(sourceRenderTarget->getWidth(), sourceRenderTarget->getHeight(), 1); @@ -2057,59 +2068,48 @@ bool Renderer11::copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle // Use nearest filtering because source and destination are the same size for the direct // copy - bool ret = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, - destFormat, GL_NEAREST); + error = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, destFormat, GL_NEAREST); + if (error.isError()) + { + return error; + } storage11->invalidateSwizzleCacheLevel(level); - return ret; + return gl::Error(GL_NO_ERROR); } -bool Renderer11::copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) +gl::Error Renderer11::copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) { gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer(); - if (!colorbuffer) - { - ERR("Failed to retrieve the color buffer from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(colorbuffer); - RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); - if (!sourceRenderTarget) + RenderTarget11 *sourceRenderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(colorbuffer, &sourceRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(sourceRenderTarget); ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView(); - if (!source) - { - ERR("Failed to retrieve the render target view from the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(source); TextureStorage11_3D *storage11 = TextureStorage11_3D::makeTextureStorage11_3D(storage); - if (!storage11) - { - ERR("Failed to retrieve the texture storage from the destination."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(storage11); gl::ImageIndex index = gl::ImageIndex::Make3D(level, zOffset); - RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index)); - if (!destRenderTarget) + RenderTarget *destRenderTarget = NULL; + error = storage11->getRenderTarget(index, &destRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the destination storage."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(destRenderTarget); - ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView(); - if (!dest) - { - ERR("Failed to retrieve the render target view from the destination render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ID3D11RenderTargetView *dest = RenderTarget11::makeRenderTarget11(destRenderTarget)->getRenderTargetView(); + ASSERT(dest); gl::Box sourceArea(sourceRect.x, sourceRect.y, 0, sourceRect.width, sourceRect.height, 1); gl::Extents sourceSize(sourceRenderTarget->getWidth(), sourceRenderTarget->getHeight(), 1); @@ -2119,61 +2119,48 @@ bool Renderer11::copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle & // Use nearest filtering because source and destination are the same size for the direct // copy - bool ret = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, - destFormat, GL_NEAREST); + error = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, destFormat, GL_NEAREST); + if (error.isError()) + { + return error; + } storage11->invalidateSwizzleCacheLevel(level); - return ret; + return gl::Error(GL_NO_ERROR); } -bool Renderer11::copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) +gl::Error Renderer11::copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) { gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer(); - if (!colorbuffer) - { - ERR("Failed to retrieve the color buffer from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(colorbuffer); - RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); - if (!sourceRenderTarget) + RenderTarget11 *sourceRenderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(colorbuffer, &sourceRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target from the frame buffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(sourceRenderTarget); ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView(); - if (!source) - { - ERR("Failed to retrieve the render target view from the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(source); TextureStorage11_2DArray *storage11 = TextureStorage11_2DArray::makeTextureStorage11_2DArray(storage); - if (!storage11) - { - SafeRelease(source); - ERR("Failed to retrieve the texture storage from the destination."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ASSERT(storage11); gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, zOffset); - RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index)); - if (!destRenderTarget) + RenderTarget *destRenderTarget = NULL; + error = storage11->getRenderTarget(index, &destRenderTarget); + if (error.isError()) { - SafeRelease(source); - ERR("Failed to retrieve the render target from the destination storage."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(destRenderTarget); - ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView(); - if (!dest) - { - ERR("Failed to retrieve the render target view from the destination render target."); - return gl::error(GL_OUT_OF_MEMORY, false); - } + ID3D11RenderTargetView *dest = RenderTarget11::makeRenderTarget11(destRenderTarget)->getRenderTargetView(); + ASSERT(dest); gl::Box sourceArea(sourceRect.x, sourceRect.y, 0, sourceRect.width, sourceRect.height, 1); gl::Extents sourceSize(sourceRenderTarget->getWidth(), sourceRenderTarget->getHeight(), 1); @@ -2183,12 +2170,15 @@ bool Renderer11::copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectan // Use nearest filtering because source and destination are the same size for the direct // copy - bool ret = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, - destFormat, GL_NEAREST); + error = mBlit->copyTexture(source, sourceArea, sourceSize, dest, destArea, destSize, NULL, destFormat, GL_NEAREST); + if (error.isError()) + { + return error; + } storage11->invalidateSwizzleCacheLevel(level); - return ret; + return gl::Error(GL_NO_ERROR); } void Renderer11::unapplyRenderTargets() @@ -2256,13 +2246,10 @@ void Renderer11::releaseShaderCompiler() ShaderD3D::releaseCompiler(); } -ShaderExecutable *Renderer11::loadExecutable(const void *function, size_t length, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers) +gl::Error Renderer11::loadExecutable(const void *function, size_t length, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, ShaderExecutable **outExecutable) { - ShaderExecutable11 *executable = NULL; - HRESULT result; - switch (type) { case rx::SHADER_VERTEX: @@ -2270,8 +2257,12 @@ ShaderExecutable *Renderer11::loadExecutable(const void *function, size_t length ID3D11VertexShader *vertexShader = NULL; ID3D11GeometryShader *streamOutShader = NULL; - result = mDevice->CreateVertexShader(function, length, NULL, &vertexShader); + HRESULT result = mDevice->CreateVertexShader(function, length, NULL, &vertexShader); ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create vertex shader, result: 0x%X.", result); + } if (transformFeedbackVaryings.size() > 0) { @@ -2297,51 +2288,55 @@ ShaderExecutable *Renderer11::loadExecutable(const void *function, size_t length result = mDevice->CreateGeometryShaderWithStreamOutput(function, length, soDeclaration.data(), soDeclaration.size(), NULL, 0, 0, NULL, &streamOutShader); ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create steam output shader, result: 0x%X.", result); + } } - if (vertexShader) - { - executable = new ShaderExecutable11(function, length, vertexShader, streamOutShader); - } + *outExecutable = new ShaderExecutable11(function, length, vertexShader, streamOutShader); } break; case rx::SHADER_PIXEL: { ID3D11PixelShader *pixelShader = NULL; - result = mDevice->CreatePixelShader(function, length, NULL, &pixelShader); + HRESULT result = mDevice->CreatePixelShader(function, length, NULL, &pixelShader); ASSERT(SUCCEEDED(result)); - - if (pixelShader) + if (FAILED(result)) { - executable = new ShaderExecutable11(function, length, pixelShader); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create pixel shader, result: 0x%X.", result); } + + *outExecutable = new ShaderExecutable11(function, length, pixelShader); } break; case rx::SHADER_GEOMETRY: { ID3D11GeometryShader *geometryShader = NULL; - result = mDevice->CreateGeometryShader(function, length, NULL, &geometryShader); + HRESULT result = mDevice->CreateGeometryShader(function, length, NULL, &geometryShader); ASSERT(SUCCEEDED(result)); - - if (geometryShader) + if (FAILED(result)) { - executable = new ShaderExecutable11(function, length, geometryShader); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create geometry shader, result: 0x%X.", result); } + + *outExecutable = new ShaderExecutable11(function, length, geometryShader); } break; default: UNREACHABLE(); - break; + return gl::Error(GL_INVALID_OPERATION); } - return executable; + return gl::Error(GL_NO_ERROR); } -ShaderExecutable *Renderer11::compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers, D3DWorkaroundType workaround) +gl::Error Renderer11::compileToExecutable(gl::InfoLog &infoLog, const std::string &shaderHLSL, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, D3DWorkaroundType workaround, + ShaderExecutable **outExectuable) { const char *profileType = NULL; switch (type) @@ -2357,30 +2352,33 @@ ShaderExecutable *Renderer11::compileToExecutable(gl::InfoLog &infoLog, const ch break; default: UNREACHABLE(); - return NULL; + return gl::Error(GL_INVALID_OPERATION); } - const char *profileVersion = NULL; + unsigned int profileMajorVersion = 0; + unsigned int profileMinorVersion = 0; switch (mFeatureLevel) { case D3D_FEATURE_LEVEL_11_0: - profileVersion = "5_0"; + profileMajorVersion = 5; + profileMinorVersion = 0; break; case D3D_FEATURE_LEVEL_10_1: - profileVersion = "4_1"; + profileMajorVersion = 4; + profileMinorVersion = 1; break; case D3D_FEATURE_LEVEL_10_0: - profileVersion = "4_0"; + profileMajorVersion = 4; + profileMinorVersion = 0; break; default: UNREACHABLE(); - return NULL; + return gl::Error(GL_INVALID_OPERATION); } - char profile[32]; - snprintf(profile, ArraySize(profile), "%s_%s", profileType, profileVersion); + std::string profile = FormatString("%s_%u_%u", profileType, profileMajorVersion, profileMinorVersion); - UINT flags = D3DCOMPILE_OPTIMIZATION_LEVEL0; + UINT flags = D3DCOMPILE_OPTIMIZATION_LEVEL2; if (gl::perfActive()) { @@ -2389,41 +2387,48 @@ ShaderExecutable *Renderer11::compileToExecutable(gl::InfoLog &infoLog, const ch #endif flags |= D3DCOMPILE_DEBUG; - - std::string sourcePath = getTempPath(); - std::string sourceText = std::string("#line 2 \"") + sourcePath + std::string("\"\n\n") + std::string(shaderHLSL); - writeFile(sourcePath.c_str(), sourceText.c_str(), sourceText.size()); } // Sometimes D3DCompile will fail with the default compilation flags for complicated shaders when it would otherwise pass with alternative options. // Try the default flags first and if compilation fails, try some alternatives. - const UINT extraFlags[] = - { - flags, - flags | D3DCOMPILE_SKIP_VALIDATION, - flags | D3DCOMPILE_SKIP_OPTIMIZATION - }; + std::vector<CompileConfig> configs; + configs.push_back(CompileConfig(flags, "default" )); + configs.push_back(CompileConfig(flags | D3DCOMPILE_SKIP_VALIDATION, "skip validation" )); + configs.push_back(CompileConfig(flags | D3DCOMPILE_SKIP_OPTIMIZATION, "skip optimization")); - const static char *extraFlagNames[] = - { - "default", - "skip validation", - "skip optimization" - }; + D3D_SHADER_MACRO loopMacros[] = { {"ANGLE_ENABLE_LOOP_FLATTEN", "1"}, {0, 0} }; - int attempts = ArraySize(extraFlags); + ID3DBlob *binary = NULL; + std::string debugInfo; + gl::Error error = mCompiler.compileToBinary(infoLog, shaderHLSL, profile, configs, loopMacros, &binary, &debugInfo); + if (error.isError()) + { + return error; + } - ID3DBlob *binary = (ID3DBlob*)mCompiler.compileToBinary(infoLog, shaderHLSL, profile, extraFlags, extraFlagNames, attempts); + // It's possible that binary is NULL if the compiler failed in all configurations. Set the executable to NULL + // and return GL_NO_ERROR to signify that there was a link error but the internal state is still OK. if (!binary) { - return NULL; + *outExectuable = NULL; + return gl::Error(GL_NO_ERROR); } - ShaderExecutable *executable = loadExecutable((DWORD *)binary->GetBufferPointer(), binary->GetBufferSize(), type, - transformFeedbackVaryings, separatedOutputBuffers); + error = loadExecutable(binary->GetBufferPointer(), binary->GetBufferSize(), type, + transformFeedbackVaryings, separatedOutputBuffers, outExectuable); + SafeRelease(binary); + if (error.isError()) + { + return error; + } + + if (!debugInfo.empty()) + { + (*outExectuable)->appendDebugInfo(debugInfo); + } - return executable; + return gl::Error(GL_NO_ERROR); } rx::UniformStorage *Renderer11::createUniformStorage(size_t storageSize) @@ -2456,9 +2461,14 @@ QueryImpl *Renderer11::createQuery(GLenum type) return new Query11(this, type); } -FenceImpl *Renderer11::createFence() +FenceNVImpl *Renderer11::createFenceNV() { - return new Fence11(this); + return new FenceNV11(this); +} + +FenceSyncImpl *Renderer11::createFenceSync() +{ + return new FenceSync11(this); } TransformFeedbackImpl* Renderer11::createTransformFeedback() @@ -2501,82 +2511,75 @@ bool Renderer11::supportsFastCopyBufferToTexture(GLenum internalFormat) const return true; } -bool Renderer11::fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) +gl::Error Renderer11::fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) { ASSERT(supportsFastCopyBufferToTexture(destinationFormat)); return mPixelTransfer->copyBufferToTexture(unpack, offset, destRenderTarget, destinationFormat, sourcePixelsType, destArea); } -bool Renderer11::getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource) +gl::Error Renderer11::getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, unsigned int *subresourceIndexOut, ID3D11Texture2D **texture2DOut) + { - ASSERT(colorbuffer != NULL); + ASSERT(colorbuffer); - RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); - if (renderTarget) + RenderTarget11 *renderTarget = NULL; + gl::Error error = d3d11::GetAttachmentRenderTarget(colorbuffer, &renderTarget); + if (error.isError()) { - *subresourceIndex = renderTarget->getSubresourceIndex(); + return error; + } - ID3D11RenderTargetView *colorBufferRTV = renderTarget->getRenderTargetView(); - if (colorBufferRTV) - { - ID3D11Resource *textureResource = NULL; - colorBufferRTV->GetResource(&textureResource); + ID3D11Resource *renderTargetResource = renderTarget->getTexture(); + ASSERT(renderTargetResource); - if (textureResource) - { - HRESULT result = textureResource->QueryInterface(__uuidof(ID3D11Texture2D), (void**)resource); - SafeRelease(textureResource); + *subresourceIndexOut = renderTarget->getSubresourceIndex(); + *texture2DOut = d3d11::DynamicCastComObject<ID3D11Texture2D>(renderTargetResource); - if (SUCCEEDED(result)) - { - return true; - } - else - { - ERR("Failed to extract the ID3D11Texture2D from the render target resource, " - "HRESULT: 0x%X.", result); - } - } - } + if (!(*texture2DOut)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to query the ID3D11Texture2D from a RenderTarget"); } - return false; + return gl::Error(GL_NO_ERROR); } -bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, - const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter) +gl::Error Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, + const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter) { if (blitRenderTarget) { gl::FramebufferAttachment *readBuffer = readTarget->getReadColorbuffer(); + ASSERT(readBuffer); - if (!readBuffer) + RenderTarget *readRenderTarget = NULL; + gl::Error error = GetAttachmentRenderTarget(readBuffer, &readRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the read buffer from the read framebuffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } - - RenderTarget *readRenderTarget = GetAttachmentRenderTarget(readBuffer); + ASSERT(readRenderTarget); for (unsigned int colorAttachment = 0; colorAttachment < gl::IMPLEMENTATION_MAX_DRAW_BUFFERS; colorAttachment++) { if (drawTarget->isEnabledColorAttachment(colorAttachment)) { gl::FramebufferAttachment *drawBuffer = drawTarget->getColorbuffer(colorAttachment); + ASSERT(drawBuffer); - if (!drawBuffer) + RenderTarget *drawRenderTarget = NULL; + error = GetAttachmentRenderTarget(drawBuffer, &drawRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the draw buffer from the draw framebuffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(drawRenderTarget); - RenderTarget *drawRenderTarget = GetAttachmentRenderTarget(drawBuffer); - - if (!blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, - blitRenderTarget, false, false)) + error = blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, blitRenderTarget, + false, false); + if (error.isError()) { - return false; + return error; } } } @@ -2585,34 +2588,38 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read if (blitDepth || blitStencil) { gl::FramebufferAttachment *readBuffer = readTarget->getDepthOrStencilbuffer(); - gl::FramebufferAttachment *drawBuffer = drawTarget->getDepthOrStencilbuffer(); + ASSERT(readBuffer); - if (!readBuffer) + RenderTarget *readRenderTarget = NULL; + gl::Error error = GetAttachmentRenderTarget(readBuffer, &readRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the read depth-stencil buffer from the read framebuffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(readRenderTarget); - if (!drawBuffer) + gl::FramebufferAttachment *drawBuffer = drawTarget->getDepthOrStencilbuffer(); + ASSERT(drawBuffer); + + RenderTarget *drawRenderTarget = NULL; + error = GetAttachmentRenderTarget(drawBuffer, &drawRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the draw depth-stencil buffer from the draw framebuffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(drawRenderTarget); - RenderTarget *readRenderTarget = GetAttachmentRenderTarget(readBuffer); - RenderTarget *drawRenderTarget = GetAttachmentRenderTarget(drawBuffer); - ASSERT(readRenderTarget && drawRenderTarget); - - if (!blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, - false, blitDepth, blitStencil)) + error = blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, false, + blitDepth, blitStencil); + if (error.isError()) { - return false; + return error; } } invalidateFramebufferSwizzles(drawTarget); - return true; + return gl::Error(GL_NO_ERROR); } gl::Error Renderer11::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, @@ -2622,41 +2629,47 @@ gl::Error Renderer11::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, unsigned int subresourceIndex = 0; gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer(); + ASSERT(colorbuffer); - if (colorbuffer && getRenderTargetResource(colorbuffer, &subresourceIndex, &colorBufferTexture)) + gl::Error error = getRenderTargetResource(colorbuffer, &subresourceIndex, &colorBufferTexture); + if (error.isError()) { - gl::Rectangle area; - area.x = x; - area.y = y; - area.width = width; - area.height = height; + return error; + } - gl::Buffer *packBuffer = pack.pixelBuffer.get(); - if (packBuffer != NULL) - { - rx::Buffer11 *packBufferStorage = Buffer11::makeBuffer11(packBuffer->getImplementation()); - PackPixelsParams packParams(area, format, type, outputPitch, pack, reinterpret_cast<ptrdiff_t>(pixels)); + gl::Rectangle area; + area.x = x; + area.y = y; + area.width = width; + area.height = height; - gl::Error error = packBufferStorage->packPixels(colorBufferTexture, subresourceIndex, packParams); - if (error.isError()) - { - return error; - } + gl::Buffer *packBuffer = pack.pixelBuffer.get(); + if (packBuffer != NULL) + { + rx::Buffer11 *packBufferStorage = Buffer11::makeBuffer11(packBuffer->getImplementation()); + PackPixelsParams packParams(area, format, type, outputPitch, pack, reinterpret_cast<ptrdiff_t>(pixels)); - packBuffer->getIndexRangeCache()->clear(); - } - else + error = packBufferStorage->packPixels(colorBufferTexture, subresourceIndex, packParams); + if (error.isError()) { - gl::Error error = readTextureData(colorBufferTexture, subresourceIndex, area, format, type, outputPitch, pack, pixels); - if (error.isError()) - { - return error; - } + SafeRelease(colorBufferTexture); + return error; } - SafeRelease(colorBufferTexture); + packBuffer->getIndexRangeCache()->clear(); + } + else + { + error = readTextureData(colorBufferTexture, subresourceIndex, area, format, type, outputPitch, pack, pixels); + if (error.isError()) + { + SafeRelease(colorBufferTexture); + return error; + } } + SafeRelease(colorBufferTexture); + return gl::Error(GL_NO_ERROR); } @@ -2807,22 +2820,25 @@ gl::Error Renderer11::readTextureData(ID3D11Texture2D *texture, unsigned int sub SafeRelease(srcTex); PackPixelsParams packParams(safeArea, format, type, outputPitch, pack, 0); - packPixels(stagingTex, packParams, pixels); + gl::Error error = packPixels(stagingTex, packParams, pixels); SafeRelease(stagingTex); - return gl::Error(GL_NO_ERROR); + return error; } -void Renderer11::packPixels(ID3D11Texture2D *readTexture, const PackPixelsParams ¶ms, uint8_t *pixelsOut) +gl::Error Renderer11::packPixels(ID3D11Texture2D *readTexture, const PackPixelsParams ¶ms, uint8_t *pixelsOut) { D3D11_TEXTURE2D_DESC textureDesc; readTexture->GetDesc(&textureDesc); D3D11_MAPPED_SUBRESOURCE mapping; HRESULT hr = mDeviceContext->Map(readTexture, 0, D3D11_MAP_READ, 0, &mapping); - UNUSED_ASSERTION_VARIABLE(hr); - ASSERT(SUCCEEDED(hr)); + if (FAILED(hr)) + { + ASSERT(hr == E_OUTOFMEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to map internal texture for reading, result: 0x%X.", hr); + } uint8_t *source; int inputPitch; @@ -2893,24 +2909,23 @@ void Renderer11::packPixels(ID3D11Texture2D *readTexture, const PackPixelsParams } mDeviceContext->Unmap(readTexture, 0); + + return gl::Error(GL_NO_ERROR); } -bool Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::Rectangle &drawRect, RenderTarget *readRenderTarget, - RenderTarget *drawRenderTarget, GLenum filter, const gl::Rectangle *scissor, - bool colorBlit, bool depthBlit, bool stencilBlit) +gl::Error Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::Rectangle &drawRect, RenderTarget *readRenderTarget, + RenderTarget *drawRenderTarget, GLenum filter, const gl::Rectangle *scissor, + bool colorBlit, bool depthBlit, bool stencilBlit) { // Since blitRenderbufferRect is called for each render buffer that needs to be blitted, // it should never be the case that both color and depth/stencil need to be blitted at // at the same time. ASSERT(colorBlit != (depthBlit || stencilBlit)); - bool result = true; - RenderTarget11 *drawRenderTarget11 = RenderTarget11::makeRenderTarget11(drawRenderTarget); if (!drawRenderTarget) { - ERR("Failed to retrieve the draw render target from the draw framebuffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to retrieve the internal draw render target from the draw framebuffer."); } ID3D11Resource *drawTexture = drawRenderTarget11->getTexture(); @@ -2921,8 +2936,7 @@ bool Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::R RenderTarget11 *readRenderTarget11 = RenderTarget11::makeRenderTarget11(readRenderTarget); if (!readRenderTarget) { - ERR("Failed to retrieve the read render target from the read framebuffer."); - return gl::error(GL_OUT_OF_MEMORY, false); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to retrieve the internal read render target from the read framebuffer."); } ID3D11Resource *readTexture = NULL; @@ -2944,7 +2958,7 @@ bool Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::R if (FAILED(hresult)) { SafeRelease(readTexture); - return gl::error(GL_OUT_OF_MEMORY, false); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create shader resource view to resolve multisampled framebuffer."); } } } @@ -2961,8 +2975,7 @@ bool Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::R { SafeRelease(readTexture); SafeRelease(readSRV); - ERR("Failed to retrieve the read render target view from the read render target."); - return gl::error(GL_OUT_OF_MEMORY, false); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to retrieve the internal read render target view from the read render target."); } gl::Extents readSize(readRenderTarget->getWidth(), readRenderTarget->getHeight(), 1); @@ -2988,6 +3001,8 @@ bool Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::R const gl::InternalFormat &actualFormatInfo = gl::GetInternalFormatInfo(drawRenderTarget->getActualFormat()); bool partialDSBlit = (actualFormatInfo.depthBits > 0 && depthBlit) != (actualFormatInfo.stencilBits > 0 && stencilBlit); + gl::Error result(GL_NO_ERROR); + if (readRenderTarget11->getActualFormat() == drawRenderTarget->getActualFormat() && !stretchRequired && !outOfBounds && !flipRequired && !partialDSBlit && (!(depthBlit || stencilBlit) || wholeBufferCopy)) @@ -3034,7 +3049,7 @@ bool Renderer11::blitRenderbufferRect(const gl::Rectangle &readRect, const gl::R mDeviceContext->CopySubresourceRegion(drawTexture, drawSubresource, dstX, dstY, 0, readTexture, readSubresource, pSrcBox); - result = true; + result = gl::Error(GL_NO_ERROR); } else { @@ -3115,7 +3130,8 @@ void Renderer11::invalidateFBOAttachmentSwizzles(gl::FramebufferAttachment *atta ASSERT(attachment->isTexture()); gl::Texture *texture = attachment->getTexture(); - TextureStorage *texStorage = texture->getNativeTexture(); + TextureD3D *textureD3D = TextureD3D::makeTextureD3D(texture->getImplementation()); + TextureStorage *texStorage = textureD3D->getNativeTexture(); if (texStorage) { TextureStorage11 *texStorage11 = TextureStorage11::makeTextureStorage11(texStorage); @@ -3188,4 +3204,9 @@ void Renderer11::generateCaps(gl::Caps *outCaps, gl::TextureCapsMap *outTextureC d3d11_gl::GenerateCaps(mDevice, outCaps, outTextureCaps, outExtensions); } +Workarounds Renderer11::generateWorkarounds() const +{ + return d3d11::GenerateWorkarounds(); +} + } diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h index 19e27477..f8531943 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h @@ -33,6 +33,7 @@ class StreamingIndexBufferInterface; class Blit11; class Clear11; class PixelTransfer11; +class RenderTarget11; struct PackPixelsParams; enum @@ -55,39 +56,39 @@ class Renderer11 : public Renderer virtual int generateConfigs(ConfigDesc **configDescList); virtual void deleteConfigs(ConfigDesc *configDescList); - virtual void sync(bool block); + virtual gl::Error sync(bool block); - virtual SwapChain *createSwapChain(HWND window, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat); + virtual SwapChain *createSwapChain(rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat); - virtual void generateSwizzle(gl::Texture *texture); - virtual void setSamplerState(gl::SamplerType type, int index, const gl::SamplerState &sampler); - virtual void setTexture(gl::SamplerType type, int index, gl::Texture *texture); + virtual gl::Error generateSwizzle(gl::Texture *texture); + virtual gl::Error setSamplerState(gl::SamplerType type, int index, gl::Texture *texture, const gl::SamplerState &sampler); + virtual gl::Error setTexture(gl::SamplerType type, int index, gl::Texture *texture); - virtual bool setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]); + virtual gl::Error setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]); - virtual void setRasterizerState(const gl::RasterizerState &rasterState); - virtual void setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, - unsigned int sampleMask); - virtual void setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, - int stencilBackRef, bool frontFaceCCW); + virtual gl::Error setRasterizerState(const gl::RasterizerState &rasterState); + virtual gl::Error setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, + unsigned int sampleMask); + virtual gl::Error setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, + int stencilBackRef, bool frontFaceCCW); virtual void setScissorRectangle(const gl::Rectangle &scissor, bool enabled); virtual void setViewport(const gl::Rectangle &viewport, float zNear, float zFar, GLenum drawMode, GLenum frontFace, bool ignoreViewport); virtual bool applyPrimitiveType(GLenum mode, GLsizei count); - virtual bool applyRenderTarget(gl::Framebuffer *frameBuffer); - virtual void applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, - bool rasterizerDiscard, bool transformFeedbackActive); - virtual void applyUniforms(const gl::ProgramBinary &programBinary); - virtual gl::Error applyVertexBuffer(gl::ProgramBinary *programBinary, const gl::VertexAttribute vertexAttributes[], const gl::VertexAttribCurrentValueData currentValues[], - GLint first, GLsizei count, GLsizei instances); + virtual gl::Error applyRenderTarget(gl::Framebuffer *frameBuffer); + virtual gl::Error applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, + bool rasterizerDiscard, bool transformFeedbackActive); + + virtual gl::Error applyUniforms(const ProgramImpl &program, const std::vector<gl::LinkedUniform*> &uniformArray); + virtual gl::Error applyVertexBuffer(const gl::State &state, GLint first, GLsizei count, GLsizei instances); virtual gl::Error applyIndexBuffer(const GLvoid *indices, gl::Buffer *elementArrayBuffer, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo); - virtual void applyTransformFeedbackBuffers(gl::Buffer *transformFeedbackBuffers[], GLintptr offsets[]); + virtual void applyTransformFeedbackBuffers(const gl::State &state); - virtual void drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive); - virtual void drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, - gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances); + virtual gl::Error drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive); + virtual gl::Error drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, + gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances); virtual gl::Error clear(const gl::ClearParameters &clearParams, gl::Framebuffer *frameBuffer); @@ -115,22 +116,17 @@ class Renderer11 : public Renderer virtual int getMaxSwapInterval() const; // Pixel operations - virtual bool copyToRenderTarget2D(TextureStorage *dest, TextureStorage *source); - virtual bool copyToRenderTargetCube(TextureStorage *dest, TextureStorage *source); - virtual bool copyToRenderTarget3D(TextureStorage *dest, TextureStorage *source); - virtual bool copyToRenderTarget2DArray(TextureStorage *dest, TextureStorage *source); - - virtual bool copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level); - virtual bool copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level); - virtual bool copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level); - virtual bool copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + virtual gl::Error copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level); + virtual gl::Error copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level); + virtual gl::Error copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level); + virtual gl::Error copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level); - virtual bool blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, - const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter); + virtual gl::Error blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, + const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter); virtual gl::Error readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint outputPitch, const gl::PixelPackState &pack, uint8_t *pixels); @@ -145,12 +141,13 @@ class Renderer11 : public Renderer // Shader operations virtual void releaseShaderCompiler(); - virtual ShaderExecutable *loadExecutable(const void *function, size_t length, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers); - virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers, D3DWorkaroundType workaround); + virtual gl::Error loadExecutable(const void *function, size_t length, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, ShaderExecutable **outExecutable); + virtual gl::Error compileToExecutable(gl::InfoLog &infoLog, const std::string &shaderHLSL, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, D3DWorkaroundType workaround, + ShaderExecutable **outExectuable); virtual UniformStorage *createUniformStorage(size_t storageSize); // Image operations @@ -175,7 +172,8 @@ class Renderer11 : public Renderer // Query and Fence creation virtual QueryImpl *createQuery(GLenum type); - virtual FenceImpl *createFence(); + virtual FenceNVImpl *createFenceNV(); + virtual FenceSyncImpl *createFenceSync(); // Transform Feedback creation virtual TransformFeedbackImpl* createTransformFeedback(); @@ -183,38 +181,40 @@ class Renderer11 : public Renderer // D3D11-renderer specific methods ID3D11Device *getDevice() { return mDevice; } ID3D11DeviceContext *getDeviceContext() { return mDeviceContext; }; - IDXGIFactory *getDxgiFactory() { return mDxgiFactory; }; + DXGIFactory *getDxgiFactory() { return mDxgiFactory; }; Blit11 *getBlitter() { return mBlit; } // Buffer-to-texture and Texture-to-buffer copies virtual bool supportsFastCopyBufferToTexture(GLenum internalFormat) const; - virtual bool fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea); + virtual gl::Error fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea); + + gl::Error getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, unsigned int *subresourceIndexOut, ID3D11Texture2D **texture2DOut); - bool getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource); void unapplyRenderTargets(); void setOneTimeRenderTarget(ID3D11RenderTargetView *renderTargetView); - void packPixels(ID3D11Texture2D *readTexture, const PackPixelsParams ¶ms, uint8_t *pixelsOut); + gl::Error packPixels(ID3D11Texture2D *readTexture, const PackPixelsParams ¶ms, uint8_t *pixelsOut); virtual bool getLUID(LUID *adapterLuid) const; virtual rx::VertexConversionType getVertexConversionType(const gl::VertexFormat &vertexFormat) const; virtual GLenum getVertexComponentType(const gl::VertexFormat &vertexFormat) const; + gl::Error readTextureData(ID3D11Texture2D *texture, unsigned int subResource, const gl::Rectangle &area, GLenum format, + GLenum type, GLuint outputPitch, const gl::PixelPackState &pack, uint8_t *pixels); + private: DISALLOW_COPY_AND_ASSIGN(Renderer11); virtual void generateCaps(gl::Caps *outCaps, gl::TextureCapsMap *outTextureCaps, gl::Extensions *outExtensions) const; + virtual Workarounds generateWorkarounds() const; - void drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer); - void drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer, int instances); - - gl::Error readTextureData(ID3D11Texture2D *texture, unsigned int subResource, const gl::Rectangle &area, GLenum format, - GLenum type, GLuint outputPitch, const gl::PixelPackState &pack, uint8_t *pixels); + gl::Error drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer); + gl::Error drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer, int instances); - bool blitRenderbufferRect(const gl::Rectangle &readRect, const gl::Rectangle &drawRect, RenderTarget *readRenderTarget, - RenderTarget *drawRenderTarget, GLenum filter, const gl::Rectangle *scissor, - bool colorBlit, bool depthBlit, bool stencilBlit); + gl::Error blitRenderbufferRect(const gl::Rectangle &readRect, const gl::Rectangle &drawRect, RenderTarget *readRenderTarget, + RenderTarget *drawRenderTarget, GLenum filter, const gl::Rectangle *scissor, + bool colorBlit, bool depthBlit, bool stencilBlit); ID3D11Texture2D *resolveMultisampledTexture(ID3D11Texture2D *source, unsigned int subresource); static void invalidateFBOAttachmentSwizzles(gl::FramebufferAttachment *attachment, int mipLevel); @@ -291,8 +291,14 @@ class Renderer11 : public Renderer unsigned int mAppliedIBOffset; // Currently applied transform feedback buffers - ID3D11Buffer *mAppliedTFBuffers[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; - GLintptr mAppliedTFOffsets[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; + ID3D11Buffer *mAppliedTFBuffers[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; // Tracks the current D3D buffers + // in use for streamout + GLintptr mAppliedTFOffsets[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; // Tracks the current GL-specified + // buffer offsets to transform feedback + // buffers + UINT mCurrentD3DOffsets[gl::IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS]; // Tracks the D3D buffer offsets, + // which may differ from GLs, due + // to different append behavior // Currently applied shaders ID3D11VertexShader *mAppliedVertexShader; @@ -338,7 +344,7 @@ class Renderer11 : public Renderer IDXGIAdapter *mDxgiAdapter; DXGI_ADAPTER_DESC mAdapterDescription; char mDescription[128]; - IDXGIFactory *mDxgiFactory; + DXGIFactory *mDxgiFactory; }; } diff --git a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp index 5ec132e0..2ea95aa6 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp @@ -15,12 +15,15 @@ #include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h" #include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h" +#include "common/NativeWindow.h" + namespace rx { -SwapChain11::SwapChain11(Renderer11 *renderer, HWND window, HANDLE shareHandle, +SwapChain11::SwapChain11(Renderer11 *renderer, rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) - : mRenderer(renderer), SwapChain(window, shareHandle, backBufferFormat, depthBufferFormat) + : mRenderer(renderer), + SwapChain(nativeWindow, shareHandle, backBufferFormat, depthBufferFormat) { mSwapChain = NULL; mBackBufferTexture = NULL; @@ -145,7 +148,7 @@ EGLint SwapChain11::resetOffscreenTexture(int backbufferWidth, int backbufferHei } else { - const bool useSharedResource = !mWindow && mRenderer->getShareHandleSupport(); + const bool useSharedResource = !mNativeWindow.getNativeWindow() && mRenderer->getShareHandleSupport(); D3D11_TEXTURE2D_DESC offscreenTextureDesc = {0}; offscreenTextureDesc.Width = backbufferWidth; @@ -329,8 +332,10 @@ EGLint SwapChain11::resize(EGLint backbufferWidth, EGLint backbufferHeight) SafeRelease(mBackBufferRTView); // Resize swap chain + DXGI_SWAP_CHAIN_DESC desc; + mSwapChain->GetDesc(&desc); const d3d11::TextureFormat &backbufferFormatInfo = d3d11::GetTextureFormatInfo(mBackBufferFormat); - HRESULT result = mSwapChain->ResizeBuffers(1, backbufferWidth, backbufferHeight, backbufferFormatInfo.texFormat, 0); + HRESULT result = mSwapChain->ResizeBuffers(desc.BufferCount, backbufferWidth, backbufferHeight, backbufferFormatInfo.texFormat, 0); if (FAILED(result)) { @@ -393,30 +398,13 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap return EGL_SUCCESS; } - if (mWindow) + if (mNativeWindow.getNativeWindow()) { const d3d11::TextureFormat &backbufferFormatInfo = d3d11::GetTextureFormatInfo(mBackBufferFormat); - IDXGIFactory *factory = mRenderer->getDxgiFactory(); - - DXGI_SWAP_CHAIN_DESC swapChainDesc = {0}; - swapChainDesc.BufferDesc.Width = backbufferWidth; - swapChainDesc.BufferDesc.Height = backbufferHeight; - swapChainDesc.BufferDesc.RefreshRate.Numerator = 0; - swapChainDesc.BufferDesc.RefreshRate.Denominator = 1; - swapChainDesc.BufferDesc.Format = backbufferFormatInfo.texFormat; - swapChainDesc.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED; - swapChainDesc.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED; - swapChainDesc.SampleDesc.Count = 1; - swapChainDesc.SampleDesc.Quality = 0; - swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; - swapChainDesc.BufferCount = 1; - swapChainDesc.OutputWindow = mWindow; - swapChainDesc.Windowed = TRUE; - swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; - swapChainDesc.Flags = 0; - - HRESULT result = factory->CreateSwapChain(device, &swapChainDesc, &mSwapChain); + HRESULT result = mNativeWindow.createSwapChain(device, mRenderer->getDxgiFactory(), + backbufferFormatInfo.texFormat, + backbufferWidth, backbufferHeight, &mSwapChain); if (FAILED(result)) { diff --git a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h index fb0afd70..c0de62df 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h @@ -19,7 +19,7 @@ class Renderer11; class SwapChain11 : public SwapChain { public: - SwapChain11(Renderer11 *renderer, HWND window, HANDLE shareHandle, + SwapChain11(Renderer11 *renderer, rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat); virtual ~SwapChain11(); @@ -56,7 +56,7 @@ class SwapChain11 : public SwapChain unsigned int mSwapInterval; bool mPassThroughResourcesInit; - IDXGISwapChain *mSwapChain; + DXGISwapChain *mSwapChain; ID3D11Texture2D *mBackBufferTexture; ID3D11RenderTargetView *mBackBufferRTView; diff --git a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp index c012637b..e5a5dfed 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp @@ -15,6 +15,7 @@ #include "libGLESv2/renderer/d3d/d3d11/Blit11.h" #include "libGLESv2/renderer/d3d/d3d11/formatutils11.h" #include "libGLESv2/renderer/d3d/d3d11/Image11.h" +#include "libGLESv2/renderer/d3d/MemoryBuffer.h" #include "libGLESv2/renderer/d3d/TextureD3D.h" #include "libGLESv2/main.h" #include "libGLESv2/ImageIndex.h" @@ -52,40 +53,9 @@ TextureStorage11::SRVKey::SRVKey(int baseLevel, int mipLevels, bool swizzle) { } -bool TextureStorage11::SRVKey::operator==(const SRVKey &rhs) const +bool TextureStorage11::SRVKey::operator<(const SRVKey &rhs) const { - return baseLevel == rhs.baseLevel && - mipLevels == rhs.mipLevels && - swizzle == rhs.swizzle; -} - -TextureStorage11::SRVCache::~SRVCache() -{ - for (size_t i = 0; i < cache.size(); i++) - { - SafeRelease(cache[i].srv); - } -} - -ID3D11ShaderResourceView *TextureStorage11::SRVCache::find(const SRVKey &key) const -{ - for (size_t i = 0; i < cache.size(); i++) - { - if (cache[i].key == key) - { - return cache[i].srv; - } - } - - return NULL; -} - -ID3D11ShaderResourceView *TextureStorage11::SRVCache::add(const SRVKey &key, ID3D11ShaderResourceView *srv) -{ - SRVPair pair = {key, srv}; - cache.push_back(pair); - - return srv; + return std::tie(baseLevel, mipLevels, swizzle) < std::tie(rhs.baseLevel, rhs.mipLevels, rhs.swizzle); } TextureStorage11::TextureStorage11(Renderer *renderer, UINT bindFlags) @@ -114,6 +84,12 @@ TextureStorage11::~TextureStorage11() { SafeRelease(mLevelSRVs[level]); } + + for (SRVCache::iterator i = mSrvCache.begin(); i != mSrvCache.end(); i++) + { + SafeRelease(i->second); + } + mSrvCache.clear(); } TextureStorage11 *TextureStorage11::makeTextureStorage11(TextureStorage *storage) @@ -183,17 +159,20 @@ int TextureStorage11::getLevelDepth(int mipLevel) const return std::max(static_cast<int>(mTextureDepth) >> mipLevel, 1); } -UINT TextureStorage11::getSubresourceIndex(int mipLevel, int layerTarget) const +UINT TextureStorage11::getSubresourceIndex(const gl::ImageIndex &index) const { - UINT index = 0; + UINT subresource = 0; if (getResource()) { - index = D3D11CalcSubresource(mipLevel, layerTarget, mMipLevels); + UINT mipSlice = static_cast<UINT>(index.mipIndex + mTopLevel); + UINT arraySlice = static_cast<UINT>(index.hasLayer() ? index.layerIndex : 0); + subresource = D3D11CalcSubresource(mipSlice, arraySlice, mMipLevels); + ASSERT(subresource != std::numeric_limits<UINT>::max()); } - return index; + return subresource; } -ID3D11ShaderResourceView *TextureStorage11::getSRV(const gl::SamplerState &samplerState) +gl::Error TextureStorage11::getSRV(const gl::SamplerState &samplerState, ID3D11ShaderResourceView **outSRV) { bool swizzleRequired = samplerState.swizzleRequired(); bool mipmapping = gl::IsMipmapFiltered(samplerState); @@ -206,41 +185,63 @@ ID3D11ShaderResourceView *TextureStorage11::getSRV(const gl::SamplerState &sampl { verifySwizzleExists(samplerState.swizzleRed, samplerState.swizzleGreen, samplerState.swizzleBlue, samplerState.swizzleAlpha); } - - SRVKey key(samplerState.baseLevel, mipLevels, swizzleRequired); - ID3D11ShaderResourceView *srv = srvCache.find(key); - if(srv) + SRVKey key(samplerState.baseLevel, mipLevels, swizzleRequired); + SRVCache::const_iterator iter = mSrvCache.find(key); + if (iter != mSrvCache.end()) { - return srv; + *outSRV = iter->second; } + else + { + ID3D11Resource *texture = NULL; + if (swizzleRequired) + { + gl::Error error = getSwizzleTexture(&texture); + if (error.isError()) + { + return error; + } + } + else + { + texture = getResource(); + } - DXGI_FORMAT format = (swizzleRequired ? mSwizzleShaderResourceFormat : mShaderResourceFormat); - ID3D11Resource *texture = swizzleRequired ? getSwizzleTexture() : getResource(); + ID3D11ShaderResourceView *srv = NULL; + DXGI_FORMAT format = (swizzleRequired ? mSwizzleShaderResourceFormat : mShaderResourceFormat); + gl::Error error = createSRV(samplerState.baseLevel, mipLevels, format, texture, &srv); + if (error.isError()) + { + return error; + } - srv = createSRV(samplerState.baseLevel, mipLevels, format, texture); - - return srvCache.add(key, srv); + mSrvCache.insert(std::make_pair(key, srv)); + *outSRV = srv; + } + + return gl::Error(GL_NO_ERROR); } -ID3D11ShaderResourceView *TextureStorage11::getSRVLevel(int mipLevel) +gl::Error TextureStorage11::getSRVLevel(int mipLevel, ID3D11ShaderResourceView **outSRV) { - if (mipLevel >= 0 && mipLevel < getLevelCount()) + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); + + if (!mLevelSRVs[mipLevel]) { - if (!mLevelSRVs[mipLevel]) + gl::Error error = createSRV(mipLevel, 1, mShaderResourceFormat, getResource(), &mLevelSRVs[mipLevel]); + if (error.isError()) { - mLevelSRVs[mipLevel] = createSRV(mipLevel, 1, mShaderResourceFormat, getResource()); + return error; } - - return mLevelSRVs[mipLevel]; - } - else - { - return NULL; } + + *outSRV = mLevelSRVs[mipLevel]; + + return gl::Error(GL_NO_ERROR); } -void TextureStorage11::generateSwizzles(GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha) +gl::Error TextureStorage11::generateSwizzles(GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha) { SwizzleCacheValue swizzleTarget(swizzleRed, swizzleGreen, swizzleBlue, swizzleAlpha); for (int level = 0; level < getLevelCount(); level++) @@ -249,23 +250,35 @@ void TextureStorage11::generateSwizzles(GLenum swizzleRed, GLenum swizzleGreen, if (mSwizzleCache[level] != swizzleTarget) { // Need to re-render the swizzle for this level - ID3D11ShaderResourceView *sourceSRV = getSRVLevel(level); - ID3D11RenderTargetView *destRTV = getSwizzleRenderTarget(level); + ID3D11ShaderResourceView *sourceSRV = NULL; + gl::Error error = getSRVLevel(level, &sourceSRV); + if (error.isError()) + { + return error; + } + + ID3D11RenderTargetView *destRTV = NULL; + error = getSwizzleRenderTarget(level, &destRTV); + if (error.isError()) + { + return error; + } gl::Extents size(getLevelWidth(level), getLevelHeight(level), getLevelDepth(level)); Blit11 *blitter = mRenderer->getBlitter(); - if (blitter->swizzleTexture(sourceSRV, destRTV, size, swizzleRed, swizzleGreen, swizzleBlue, swizzleAlpha)) - { - mSwizzleCache[level] = swizzleTarget; - } - else + error = blitter->swizzleTexture(sourceSRV, destRTV, size, swizzleRed, swizzleGreen, swizzleBlue, swizzleAlpha); + if (error.isError()) { - ERR("Failed to swizzle texture."); + return error; } + + mSwizzleCache[level] = swizzleTarget; } } + + return gl::Error(GL_NO_ERROR); } void TextureStorage11::invalidateSwizzleCacheLevel(int mipLevel) @@ -286,104 +299,108 @@ void TextureStorage11::invalidateSwizzleCache() } } -bool TextureStorage11::updateSubresourceLevel(ID3D11Resource *srcTexture, unsigned int sourceSubresource, - int level, int layerTarget, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth) +gl::Error TextureStorage11::updateSubresourceLevel(ID3D11Resource *srcTexture, unsigned int sourceSubresource, + const gl::ImageIndex &index, const gl::Box ©Area) { - if (srcTexture) - { - invalidateSwizzleCacheLevel(level); + ASSERT(srcTexture); - gl::Extents texSize(getLevelWidth(level), getLevelHeight(level), getLevelDepth(level)); - gl::Box copyArea(xoffset, yoffset, zoffset, width, height, depth); + GLint level = index.mipIndex; - bool fullCopy = copyArea.x == 0 && - copyArea.y == 0 && - copyArea.z == 0 && - copyArea.width == texSize.width && - copyArea.height == texSize.height && - copyArea.depth == texSize.depth; + invalidateSwizzleCacheLevel(level); - ID3D11Resource *dstTexture = getResource(); - unsigned int dstSubresource = getSubresourceIndex(level + mTopLevel, layerTarget); + gl::Extents texSize(getLevelWidth(level), getLevelHeight(level), getLevelDepth(level)); - ASSERT(dstTexture); + bool fullCopy = copyArea.x == 0 && + copyArea.y == 0 && + copyArea.z == 0 && + copyArea.width == texSize.width && + copyArea.height == texSize.height && + copyArea.depth == texSize.depth; - const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(mTextureFormat); - if (!fullCopy && (dxgiFormatInfo.depthBits > 0 || dxgiFormatInfo.stencilBits > 0)) - { - // CopySubresourceRegion cannot copy partial depth stencils, use the blitter instead - Blit11 *blitter = mRenderer->getBlitter(); - - return blitter->copyDepthStencil(srcTexture, sourceSubresource, copyArea, texSize, - dstTexture, dstSubresource, copyArea, texSize, - NULL); - } - else - { - const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(mTextureFormat); + ID3D11Resource *dstTexture = getResource(); + unsigned int dstSubresource = getSubresourceIndex(index); - D3D11_BOX srcBox; - srcBox.left = copyArea.x; - srcBox.top = copyArea.y; - srcBox.right = copyArea.x + roundUp((unsigned int)width, dxgiFormatInfo.blockWidth); - srcBox.bottom = copyArea.y + roundUp((unsigned int)height, dxgiFormatInfo.blockHeight); - srcBox.front = copyArea.z; - srcBox.back = copyArea.z + copyArea.depth; + ASSERT(dstTexture); - ID3D11DeviceContext *context = mRenderer->getDeviceContext(); + const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(mTextureFormat); + if (!fullCopy && (dxgiFormatInfo.depthBits > 0 || dxgiFormatInfo.stencilBits > 0)) + { + // CopySubresourceRegion cannot copy partial depth stencils, use the blitter instead + Blit11 *blitter = mRenderer->getBlitter(); - context->CopySubresourceRegion(dstTexture, dstSubresource, copyArea.x, copyArea.y, copyArea.z, - srcTexture, sourceSubresource, fullCopy ? NULL : &srcBox); - return true; - } + return blitter->copyDepthStencil(srcTexture, sourceSubresource, copyArea, texSize, + dstTexture, dstSubresource, copyArea, texSize, + NULL); } + else + { + const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(mTextureFormat); - return false; + D3D11_BOX srcBox; + srcBox.left = copyArea.x; + srcBox.top = copyArea.y; + srcBox.right = copyArea.x + roundUp(static_cast<UINT>(copyArea.width), dxgiFormatInfo.blockWidth); + srcBox.bottom = copyArea.y + roundUp(static_cast<UINT>(copyArea.height), dxgiFormatInfo.blockHeight); + srcBox.front = copyArea.z; + srcBox.back = copyArea.z + copyArea.depth; + + ID3D11DeviceContext *context = mRenderer->getDeviceContext(); + + context->CopySubresourceRegion(dstTexture, dstSubresource, copyArea.x, copyArea.y, copyArea.z, + srcTexture, sourceSubresource, fullCopy ? NULL : &srcBox); + return gl::Error(GL_NO_ERROR); + } } -bool TextureStorage11::copySubresourceLevel(ID3D11Resource* dstTexture, unsigned int dstSubresource, - int level, int layerTarget, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth) +gl::Error TextureStorage11::copySubresourceLevel(ID3D11Resource* dstTexture, unsigned int dstSubresource, + const gl::ImageIndex &index, const gl::Box ®ion) { - if (dstTexture) - { - ID3D11Resource *srcTexture = getResource(); - unsigned int srcSubresource = getSubresourceIndex(level + mTopLevel, layerTarget); + ASSERT(dstTexture); - ASSERT(srcTexture); + ID3D11Resource *srcTexture = getResource(); + ASSERT(srcTexture); - ID3D11DeviceContext *context = mRenderer->getDeviceContext(); + unsigned int srcSubresource = getSubresourceIndex(index); - context->CopySubresourceRegion(dstTexture, dstSubresource, xoffset, yoffset, zoffset, - srcTexture, srcSubresource, NULL); - return true; - } + ID3D11DeviceContext *context = mRenderer->getDeviceContext(); + context->CopySubresourceRegion(dstTexture, dstSubresource, region.x, region.y, region.z, + srcTexture, srcSubresource, NULL); - return false; + return gl::Error(GL_NO_ERROR); } -void TextureStorage11::generateMipmapLayer(RenderTarget11 *source, RenderTarget11 *dest) +void TextureStorage11::generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex) { - if (source && dest) + ASSERT(sourceIndex.layerIndex == destIndex.layerIndex); + + invalidateSwizzleCacheLevel(destIndex.mipIndex); + + RenderTarget *source = NULL; + gl::Error error = getRenderTarget(sourceIndex, &source); + if (error.isError()) { - ID3D11ShaderResourceView *sourceSRV = source->getShaderResourceView(); - ID3D11RenderTargetView *destRTV = dest->getRenderTargetView(); + return; + } - if (sourceSRV && destRTV) - { - gl::Box sourceArea(0, 0, 0, source->getWidth(), source->getHeight(), source->getDepth()); - gl::Extents sourceSize(source->getWidth(), source->getHeight(), source->getDepth()); + RenderTarget *dest = NULL; + error = getRenderTarget(destIndex, &dest); + if (error.isError()) + { + return; + } - gl::Box destArea(0, 0, 0, dest->getWidth(), dest->getHeight(), dest->getDepth()); - gl::Extents destSize(dest->getWidth(), dest->getHeight(), dest->getDepth()); + ID3D11ShaderResourceView *sourceSRV = RenderTarget11::makeRenderTarget11(source)->getShaderResourceView(); + ID3D11RenderTargetView *destRTV = RenderTarget11::makeRenderTarget11(dest)->getRenderTargetView(); - Blit11 *blitter = mRenderer->getBlitter(); + gl::Box sourceArea(0, 0, 0, source->getWidth(), source->getHeight(), source->getDepth()); + gl::Extents sourceSize(source->getWidth(), source->getHeight(), source->getDepth()); - blitter->copyTexture(sourceSRV, sourceArea, sourceSize, destRTV, destArea, destSize, NULL, - gl::GetInternalFormatInfo(source->getInternalFormat()).format, GL_LINEAR); - } - } + gl::Box destArea(0, 0, 0, dest->getWidth(), dest->getHeight(), dest->getDepth()); + gl::Extents destSize(dest->getWidth(), dest->getHeight(), dest->getDepth()); + + Blit11 *blitter = mRenderer->getBlitter(); + blitter->copyTexture(sourceSRV, sourceArea, sourceSize, destRTV, destArea, destSize, NULL, + gl::GetInternalFormatInfo(source->getInternalFormat()).format, GL_LINEAR); } void TextureStorage11::verifySwizzleExists(GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha) @@ -395,6 +412,93 @@ void TextureStorage11::verifySwizzleExists(GLenum swizzleRed, GLenum swizzleGree } } +gl::Error TextureStorage11::copyToStorage(TextureStorage *destStorage) +{ + ASSERT(destStorage); + + TextureStorage11 *dest11 = TextureStorage11::makeTextureStorage11(destStorage); + + ID3D11DeviceContext *immediateContext = mRenderer->getDeviceContext(); + immediateContext->CopyResource(dest11->getResource(), getResource()); + + dest11->invalidateSwizzleCache(); + + return gl::Error(GL_NO_ERROR); +} + +gl::Error TextureStorage11::setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type, + const gl::PixelUnpackState &unpack, const uint8_t *pixelData) +{ + ID3D11Resource *resource = getResource(); + ASSERT(resource); + + UINT destSubresource = getSubresourceIndex(index); + + const gl::InternalFormat &internalFormatInfo = gl::GetInternalFormatInfo(image->getInternalFormat()); + + bool fullUpdate = (destBox == NULL || *destBox == gl::Box(0, 0, 0, mTextureWidth, mTextureHeight, mTextureDepth)); + ASSERT(internalFormatInfo.depthBits == 0 || fullUpdate); + + // TODO(jmadill): Handle compressed formats + // Compressed formats have different load syntax, so we'll have to handle them with slightly + // different logic. Will implemnent this in a follow-up patch, and ensure we do not use SetData + // with compressed formats in the calling logic. + ASSERT(!internalFormatInfo.compressed); + + int width = destBox ? destBox->width : static_cast<int>(image->getWidth()); + int height = destBox ? destBox->height : static_cast<int>(image->getHeight()); + int depth = destBox ? destBox->depth : static_cast<int>(image->getDepth()); + UINT srcRowPitch = internalFormatInfo.computeRowPitch(type, width, unpack.alignment); + UINT srcDepthPitch = internalFormatInfo.computeDepthPitch(type, width, height, unpack.alignment); + + const d3d11::TextureFormat &d3d11Format = d3d11::GetTextureFormatInfo(image->getInternalFormat()); + const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(d3d11Format.texFormat); + + size_t outputPixelSize = dxgiFormatInfo.pixelBytes; + + UINT bufferRowPitch = outputPixelSize * width; + UINT bufferDepthPitch = bufferRowPitch * height; + + MemoryBuffer conversionBuffer; + if (!conversionBuffer.resize(bufferDepthPitch * depth)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to allocate internal buffer."); + } + + // TODO: fast path + LoadImageFunction loadFunction = d3d11Format.loadFunctions.at(type); + loadFunction(width, height, depth, + pixelData, srcRowPitch, srcDepthPitch, + conversionBuffer.data(), bufferRowPitch, bufferDepthPitch); + + ID3D11DeviceContext *immediateContext = mRenderer->getDeviceContext(); + + if (!fullUpdate) + { + ASSERT(destBox); + + D3D11_BOX destD3DBox; + destD3DBox.left = destBox->x; + destD3DBox.right = destBox->x + destBox->width; + destD3DBox.top = destBox->y; + destD3DBox.bottom = destBox->y + destBox->height; + destD3DBox.front = 0; + destD3DBox.back = 1; + + immediateContext->UpdateSubresource(resource, destSubresource, + &destD3DBox, conversionBuffer.data(), + bufferRowPitch, bufferDepthPitch); + } + else + { + immediateContext->UpdateSubresource(resource, destSubresource, + NULL, conversionBuffer.data(), + bufferRowPitch, bufferDepthPitch); + } + + return gl::Error(GL_NO_ERROR); +} + TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, SwapChain11 *swapchain) : TextureStorage11(renderer, D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE), mTexture(swapchain->getOffscreenTexture()), @@ -520,7 +624,11 @@ TextureStorage11_2D::~TextureStorage11_2D() if (imageAssociationCorrect) { // We must let the Images recover their data before we delete it from the TextureStorage. - mAssociatedImages[i]->recoverFromAssociatedStorage(); + gl::Error error = mAssociatedImages[i]->recoverFromAssociatedStorage(); + if (error.isError()) + { + // TODO: Find a way to report this back to the context + } } } } @@ -541,8 +649,10 @@ TextureStorage11_2D *TextureStorage11_2D::makeTextureStorage11_2D(TextureStorage return static_cast<TextureStorage11_2D*>(storage); } -void TextureStorage11_2D::associateImage(Image11* image, int level, int layerTarget) +void TextureStorage11_2D::associateImage(Image11* image, const gl::ImageIndex &index) { + GLint level = index.mipIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) @@ -551,8 +661,10 @@ void TextureStorage11_2D::associateImage(Image11* image, int level, int layerTar } } -bool TextureStorage11_2D::isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage) +bool TextureStorage11_2D::isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { // This validation check should never return false. It means the Image/TextureStorage association is broken. @@ -565,8 +677,10 @@ bool TextureStorage11_2D::isAssociatedImageValid(int level, int layerTarget, Ima } // disassociateImage allows an Image to end its association with a Storage. -void TextureStorage11_2D::disassociateImage(int level, int layerTarget, Image11* expectedImage) +void TextureStorage11_2D::disassociateImage(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) @@ -581,8 +695,10 @@ void TextureStorage11_2D::disassociateImage(int level, int layerTarget, Image11* } // releaseAssociatedImage prepares the Storage for a new Image association. It lets the old Image recover its data before ending the association. -void TextureStorage11_2D::releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage) +gl::Error TextureStorage11_2D::releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage) { + GLint level = index.mipIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) @@ -598,10 +714,16 @@ void TextureStorage11_2D::releaseAssociatedImage(int level, int layerTarget, Ima { // Force the image to recover from storage before its data is overwritten. // This will reset mAssociatedImages[level] to NULL too. - mAssociatedImages[level]->recoverFromAssociatedStorage(); + gl::Error error = mAssociatedImages[level]->recoverFromAssociatedStorage(); + if (error.isError()) + { + return error; + } } } } + + return gl::Error(GL_NO_ERROR); } ID3D11Resource *TextureStorage11_2D::getResource() const @@ -609,126 +731,107 @@ ID3D11Resource *TextureStorage11_2D::getResource() const return mTexture; } -RenderTarget *TextureStorage11_2D::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureStorage11_2D::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { ASSERT(!index.hasLayer()); int level = index.mipIndex; + ASSERT(level >= 0 && level < getLevelCount()); - if (level >= 0 && level < getLevelCount()) + if (!mRenderTarget[level]) { - if (!mRenderTarget[level]) + ID3D11ShaderResourceView *srv = NULL; + gl::Error error = getSRVLevel(level, &srv); + if (error.isError()) { - ID3D11ShaderResourceView *srv = getSRVLevel(level); - if (!srv) - { - return NULL; - } - - if (mRenderTargetFormat != DXGI_FORMAT_UNKNOWN) - { - ID3D11Device *device = mRenderer->getDevice(); - - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; - rtvDesc.Texture2D.MipSlice = mTopLevel + level; + return error; + } - ID3D11RenderTargetView *rtv; - HRESULT result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); + if (mRenderTargetFormat != DXGI_FORMAT_UNKNOWN) + { + ID3D11Device *device = mRenderer->getDevice(); - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; + rtvDesc.Texture2D.MipSlice = mTopLevel + level; - mRenderTarget[level] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); + ID3D11RenderTargetView *rtv; + HRESULT result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); - // RenderTarget will take ownership of these resources - SafeRelease(rtv); - } - else if (mDepthStencilFormat != DXGI_FORMAT_UNKNOWN) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - ID3D11Device *device = mRenderer->getDevice(); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal render target view for texture storage, result: 0x%X.", result); + } - D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc; - dsvDesc.Format = mDepthStencilFormat; - dsvDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D; - dsvDesc.Texture2D.MipSlice = mTopLevel + level; - dsvDesc.Flags = 0; + mRenderTarget[level] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); - ID3D11DepthStencilView *dsv; - HRESULT result = device->CreateDepthStencilView(mTexture, &dsvDesc, &dsv); + // RenderTarget will take ownership of these resources + SafeRelease(rtv); + } + else if (mDepthStencilFormat != DXGI_FORMAT_UNKNOWN) + { + ID3D11Device *device = mRenderer->getDevice(); - if (result == E_OUTOFMEMORY) - { - SafeRelease(srv); - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc; + dsvDesc.Format = mDepthStencilFormat; + dsvDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D; + dsvDesc.Texture2D.MipSlice = mTopLevel + level; + dsvDesc.Flags = 0; - mRenderTarget[level] = new RenderTarget11(mRenderer, dsv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); + ID3D11DepthStencilView *dsv; + HRESULT result = device->CreateDepthStencilView(mTexture, &dsvDesc, &dsv); - // RenderTarget will take ownership of these resources - SafeRelease(dsv); - } - else + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - UNREACHABLE(); + return gl::Error(GL_OUT_OF_MEMORY,"Failed to create internal depth stencil view for texture storage, result: 0x%X.", result); } - } - return mRenderTarget[level]; - } - else - { - return NULL; + mRenderTarget[level] = new RenderTarget11(mRenderer, dsv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); + + // RenderTarget will take ownership of these resources + SafeRelease(dsv); + } + else + { + UNREACHABLE(); + } } + + ASSERT(outRT); + *outRT = mRenderTarget[level]; + return gl::Error(GL_NO_ERROR); } -ID3D11ShaderResourceView *TextureStorage11_2D::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture) +gl::Error TextureStorage11_2D::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const { + ASSERT(outSRV); + D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; srvDesc.Format = format; srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; srvDesc.Texture2D.MostDetailedMip = mTopLevel + baseLevel; srvDesc.Texture2D.MipLevels = mipLevels; - ID3D11ShaderResourceView *SRV = NULL; - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, &SRV); + HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, outSRV); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal texture storage SRV, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); - return SRV; + return gl::Error(GL_NO_ERROR); } -void TextureStorage11_2D::generateMipmaps() +gl::Error TextureStorage11_2D::getSwizzleTexture(ID3D11Resource **outTexture) { - // Base level must already be defined - - for (int level = 1; level < getLevelCount(); level++) - { - invalidateSwizzleCacheLevel(level); - - gl::ImageIndex srcIndex = gl::ImageIndex::Make2D(level - 1); - gl::ImageIndex destIndex = gl::ImageIndex::Make2D(level); + ASSERT(outTexture); - RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex)); - RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); - - generateMipmapLayer(source, dest); - } -} - -ID3D11Resource *TextureStorage11_2D::getSwizzleTexture() -{ if (!mSwizzleTexture) { ID3D11Device *device = mRenderer->getDevice(); @@ -748,49 +851,49 @@ ID3D11Resource *TextureStorage11_2D::getSwizzleTexture() HRESULT result = device->CreateTexture2D(&desc, NULL, &mSwizzleTexture); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11Texture2D*>(NULL)); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle texture, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); } - return mSwizzleTexture; + *outTexture = mSwizzleTexture; + return gl::Error(GL_NO_ERROR); } -ID3D11RenderTargetView *TextureStorage11_2D::getSwizzleRenderTarget(int mipLevel) +gl::Error TextureStorage11_2D::getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV) { - if (mipLevel >= 0 && mipLevel < getLevelCount()) + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); + ASSERT(outRTV); + + if (!mSwizzleRenderTargets[mipLevel]) { - if (!mSwizzleRenderTargets[mipLevel]) + ID3D11Resource *swizzleTexture = NULL; + gl::Error error = getSwizzleTexture(&swizzleTexture); + if (error.isError()) { - ID3D11Resource *swizzleTexture = getSwizzleTexture(); - if (!swizzleTexture) - { - return NULL; - } + return error; + } - ID3D11Device *device = mRenderer->getDevice(); + ID3D11Device *device = mRenderer->getDevice(); - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mSwizzleRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; - rtvDesc.Texture2D.MipSlice = mTopLevel + mipLevel; + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mSwizzleRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; + rtvDesc.Texture2D.MipSlice = mTopLevel + mipLevel; - HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11RenderTargetView*>(NULL)); - } - ASSERT(SUCCEEDED(result)); - } + HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); - return mSwizzleRenderTargets[mipLevel]; - } - else - { - return NULL; + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle render target view, result: 0x%X.", result); + } } + + *outRTV = mSwizzleRenderTargets[mipLevel]; + return gl::Error(GL_NO_ERROR); } TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, GLenum internalformat, bool renderTarget, int size, int levels) @@ -802,7 +905,7 @@ TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, GLenum internal for (unsigned int level = 0; level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; level++) { mSwizzleRenderTargets[level] = NULL; - for (unsigned int face = 0; face < 6; face++) + for (unsigned int face = 0; face < CUBE_FACE_COUNT; face++) { mAssociatedImages[face][level] = NULL; mRenderTarget[face][level] = NULL; @@ -832,7 +935,7 @@ TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, GLenum internal desc.Width = size; desc.Height = size; desc.MipLevels = ((levels > 0) ? (mTopLevel + levels) : 0); - desc.ArraySize = 6; + desc.ArraySize = CUBE_FACE_COUNT; desc.Format = mTextureFormat; desc.SampleDesc.Count = 1; desc.SampleDesc.Quality = 0; @@ -859,7 +962,7 @@ TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, GLenum internal } } - initializeSerials(getLevelCount() * 6, 6); + initializeSerials(getLevelCount() * CUBE_FACE_COUNT, CUBE_FACE_COUNT); } @@ -867,7 +970,7 @@ TextureStorage11_Cube::~TextureStorage11_Cube() { for (unsigned int level = 0; level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; level++) { - for (unsigned int face = 0; face < 6; face++) + for (unsigned int face = 0; face < CUBE_FACE_COUNT; face++) { if (mAssociatedImages[face][level] != NULL) { @@ -889,7 +992,7 @@ TextureStorage11_Cube::~TextureStorage11_Cube() for (unsigned int level = 0; level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; level++) { SafeRelease(mSwizzleRenderTargets[level]); - for (unsigned int face = 0; face < 6; face++) + for (unsigned int face = 0; face < CUBE_FACE_COUNT; face++) { SafeDelete(mRenderTarget[face][level]); } @@ -902,25 +1005,31 @@ TextureStorage11_Cube *TextureStorage11_Cube::makeTextureStorage11_Cube(TextureS return static_cast<TextureStorage11_Cube*>(storage); } -void TextureStorage11_Cube::associateImage(Image11* image, int level, int layerTarget) +void TextureStorage11_Cube::associateImage(Image11* image, const gl::ImageIndex &index) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); - ASSERT(0 <= layerTarget && layerTarget < 6); + ASSERT(0 <= layerTarget && layerTarget < CUBE_FACE_COUNT); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { - if (0 <= layerTarget && layerTarget < 6) + if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) { mAssociatedImages[layerTarget][level] = image; } } } -bool TextureStorage11_Cube::isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage) +bool TextureStorage11_Cube::isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { - if (0 <= layerTarget && layerTarget < 6) + if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) { // This validation check should never return false. It means the Image/TextureStorage association is broken. bool retValue = (mAssociatedImages[layerTarget][level] == expectedImage); @@ -933,14 +1042,17 @@ bool TextureStorage11_Cube::isAssociatedImageValid(int level, int layerTarget, I } // disassociateImage allows an Image to end its association with a Storage. -void TextureStorage11_Cube::disassociateImage(int level, int layerTarget, Image11* expectedImage) +void TextureStorage11_Cube::disassociateImage(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); - ASSERT(0 <= layerTarget && layerTarget < 6); + ASSERT(0 <= layerTarget && layerTarget < CUBE_FACE_COUNT); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { - if (0 <= layerTarget && layerTarget < 6) + if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) { ASSERT(mAssociatedImages[layerTarget][level] == expectedImage); @@ -953,14 +1065,17 @@ void TextureStorage11_Cube::disassociateImage(int level, int layerTarget, Image1 } // releaseAssociatedImage prepares the Storage for a new Image association. It lets the old Image recover its data before ending the association. -void TextureStorage11_Cube::releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage) +gl::Error TextureStorage11_Cube::releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); - ASSERT(0 <= layerTarget && layerTarget < 6); + ASSERT(0 <= layerTarget && layerTarget < CUBE_FACE_COUNT); if ((0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS)) { - if (0 <= layerTarget && layerTarget < 6) + if (0 <= layerTarget && layerTarget < CUBE_FACE_COUNT) { // No need to let the old Image recover its data, if it is also the incoming Image. if (mAssociatedImages[layerTarget][level] != NULL && mAssociatedImages[layerTarget][level] != incomingImage) @@ -973,11 +1088,17 @@ void TextureStorage11_Cube::releaseAssociatedImage(int level, int layerTarget, I { // Force the image to recover from storage before its data is overwritten. // This will reset mAssociatedImages[level] to NULL too. - mAssociatedImages[layerTarget][level]->recoverFromAssociatedStorage(); + gl::Error error = mAssociatedImages[layerTarget][level]->recoverFromAssociatedStorage(); + if (error.isError()) + { + return error; + } } } } } + + return gl::Error(GL_NO_ERROR); } ID3D11Resource *TextureStorage11_Cube::getResource() const @@ -985,102 +1106,103 @@ ID3D11Resource *TextureStorage11_Cube::getResource() const return mTexture; } -RenderTarget *TextureStorage11_Cube::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureStorage11_Cube::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { int faceIndex = index.layerIndex; int level = index.mipIndex; - if (level >= 0 && level < getLevelCount()) - { - if (!mRenderTarget[faceIndex][level]) - { - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result; - - D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; - srvDesc.Format = mShaderResourceFormat; - srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; // Will be used with Texture2D sampler, not TextureCube - srvDesc.Texture2DArray.MostDetailedMip = mTopLevel + level; - srvDesc.Texture2DArray.MipLevels = 1; - srvDesc.Texture2DArray.FirstArraySlice = faceIndex; - srvDesc.Texture2DArray.ArraySize = 1; + ASSERT(level >= 0 && level < getLevelCount()); + ASSERT(faceIndex >= 0 && faceIndex < CUBE_FACE_COUNT); - ID3D11ShaderResourceView *srv; - result = device->CreateShaderResourceView(mTexture, &srvDesc, &srv); + if (!mRenderTarget[faceIndex][level]) + { + ID3D11Device *device = mRenderer->getDevice(); + HRESULT result; - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; + srvDesc.Format = mShaderResourceFormat; + srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; // Will be used with Texture2D sampler, not TextureCube + srvDesc.Texture2DArray.MostDetailedMip = mTopLevel + level; + srvDesc.Texture2DArray.MipLevels = 1; + srvDesc.Texture2DArray.FirstArraySlice = faceIndex; + srvDesc.Texture2DArray.ArraySize = 1; - if (mRenderTargetFormat != DXGI_FORMAT_UNKNOWN) - { - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; - rtvDesc.Texture2DArray.MipSlice = mTopLevel + level; - rtvDesc.Texture2DArray.FirstArraySlice = faceIndex; - rtvDesc.Texture2DArray.ArraySize = 1; + ID3D11ShaderResourceView *srv; + result = device->CreateShaderResourceView(mTexture, &srvDesc, &srv); - ID3D11RenderTargetView *rtv; - result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal shader resource view for texture storage, result: 0x%X.", result); + } - if (result == E_OUTOFMEMORY) - { - SafeRelease(srv); - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + if (mRenderTargetFormat != DXGI_FORMAT_UNKNOWN) + { + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; + rtvDesc.Texture2DArray.MipSlice = mTopLevel + level; + rtvDesc.Texture2DArray.FirstArraySlice = faceIndex; + rtvDesc.Texture2DArray.ArraySize = 1; - mRenderTarget[faceIndex][level] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); + ID3D11RenderTargetView *rtv; + result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); - // RenderTarget will take ownership of these resources - SafeRelease(rtv); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { SafeRelease(srv); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal render target view for texture storage, result: 0x%X.", result); } - else if (mDepthStencilFormat != DXGI_FORMAT_UNKNOWN) - { - D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc; - dsvDesc.Format = mDepthStencilFormat; - dsvDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2DARRAY; - dsvDesc.Flags = 0; - dsvDesc.Texture2DArray.MipSlice = mTopLevel + level; - dsvDesc.Texture2DArray.FirstArraySlice = faceIndex; - dsvDesc.Texture2DArray.ArraySize = 1; - - ID3D11DepthStencilView *dsv; - result = device->CreateDepthStencilView(mTexture, &dsvDesc, &dsv); - - if (result == E_OUTOFMEMORY) - { - SafeRelease(srv); - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); - mRenderTarget[faceIndex][level] = new RenderTarget11(mRenderer, dsv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); + mRenderTarget[faceIndex][level] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); - // RenderTarget will take ownership of these resources - SafeRelease(dsv); - SafeRelease(srv); - } - else + // RenderTarget will take ownership of these resources + SafeRelease(rtv); + SafeRelease(srv); + } + else if (mDepthStencilFormat != DXGI_FORMAT_UNKNOWN) + { + D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc; + dsvDesc.Format = mDepthStencilFormat; + dsvDesc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2DARRAY; + dsvDesc.Flags = 0; + dsvDesc.Texture2DArray.MipSlice = mTopLevel + level; + dsvDesc.Texture2DArray.FirstArraySlice = faceIndex; + dsvDesc.Texture2DArray.ArraySize = 1; + + ID3D11DepthStencilView *dsv; + result = device->CreateDepthStencilView(mTexture, &dsvDesc, &dsv); + + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - UNREACHABLE(); + SafeRelease(srv); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal depth stencil view for texture storage, result: 0x%X.", result); } - } - return mRenderTarget[faceIndex][level]; - } - else - { - return NULL; + mRenderTarget[faceIndex][level] = new RenderTarget11(mRenderer, dsv, mTexture, srv, getLevelWidth(level), getLevelHeight(level), 1); + + // RenderTarget will take ownership of these resources + SafeRelease(dsv); + SafeRelease(srv); + } + else + { + UNREACHABLE(); + } } + + ASSERT(outRT); + *outRT = mRenderTarget[faceIndex][level]; + return gl::Error(GL_NO_ERROR); } -ID3D11ShaderResourceView *TextureStorage11_Cube::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture) +gl::Error TextureStorage11_Cube::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const { + ASSERT(outSRV); + D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; srvDesc.Format = format; @@ -1092,7 +1214,7 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::createSRV(int baseLevel, int mi srvDesc.Texture2DArray.MostDetailedMip = mTopLevel + baseLevel; srvDesc.Texture2DArray.MipLevels = 1; srvDesc.Texture2DArray.FirstArraySlice = 0; - srvDesc.Texture2DArray.ArraySize = 6; + srvDesc.Texture2DArray.ArraySize = CUBE_FACE_COUNT; } else { @@ -1101,43 +1223,22 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::createSRV(int baseLevel, int mi srvDesc.TextureCube.MostDetailedMip = mTopLevel + baseLevel; } - ID3D11ShaderResourceView *SRV = NULL; - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, &SRV); + HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, outSRV); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal texture storage SRV, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); - return SRV; + return gl::Error(GL_NO_ERROR); } -void TextureStorage11_Cube::generateMipmaps() +gl::Error TextureStorage11_Cube::getSwizzleTexture(ID3D11Resource **outTexture) { - // Base level must already be defined - - for (int faceIndex = 0; faceIndex < 6; faceIndex++) - { - for (int level = 1; level < getLevelCount(); level++) - { - invalidateSwizzleCacheLevel(level); + ASSERT(outTexture); - gl::ImageIndex srcIndex = gl::ImageIndex::MakeCube(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level - 1); - gl::ImageIndex destIndex = gl::ImageIndex::MakeCube(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level); - - RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex)); - RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); - - generateMipmapLayer(source, dest); - } - } -} - -ID3D11Resource *TextureStorage11_Cube::getSwizzleTexture() -{ if (!mSwizzleTexture) { ID3D11Device *device = mRenderer->getDevice(); @@ -1146,7 +1247,7 @@ ID3D11Resource *TextureStorage11_Cube::getSwizzleTexture() desc.Width = mTextureWidth; desc.Height = mTextureHeight; desc.MipLevels = mMipLevels; - desc.ArraySize = 6; + desc.ArraySize = CUBE_FACE_COUNT; desc.Format = mSwizzleTextureFormat; desc.SampleDesc.Count = 1; desc.SampleDesc.Quality = 0; @@ -1157,52 +1258,51 @@ ID3D11Resource *TextureStorage11_Cube::getSwizzleTexture() HRESULT result = device->CreateTexture2D(&desc, NULL, &mSwizzleTexture); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11Texture2D*>(NULL)); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle texture, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); } - return mSwizzleTexture; + *outTexture = mSwizzleTexture; + return gl::Error(GL_NO_ERROR); } -ID3D11RenderTargetView *TextureStorage11_Cube::getSwizzleRenderTarget(int mipLevel) +gl::Error TextureStorage11_Cube::getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV) { - if (mipLevel >= 0 && mipLevel < getLevelCount()) + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); + ASSERT(outRTV); + + if (!mSwizzleRenderTargets[mipLevel]) { - if (!mSwizzleRenderTargets[mipLevel]) + ID3D11Resource *swizzleTexture = NULL; + gl::Error error = getSwizzleTexture(&swizzleTexture); + if (error.isError()) { - ID3D11Resource *swizzleTexture = getSwizzleTexture(); - if (!swizzleTexture) - { - return NULL; - } + return error; + } - ID3D11Device *device = mRenderer->getDevice(); + ID3D11Device *device = mRenderer->getDevice(); - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mSwizzleRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; - rtvDesc.Texture2DArray.MipSlice = mTopLevel + mipLevel; - rtvDesc.Texture2DArray.FirstArraySlice = 0; - rtvDesc.Texture2DArray.ArraySize = 6; + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mSwizzleRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; + rtvDesc.Texture2DArray.MipSlice = mTopLevel + mipLevel; + rtvDesc.Texture2DArray.FirstArraySlice = 0; + rtvDesc.Texture2DArray.ArraySize = CUBE_FACE_COUNT; - HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); + HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11RenderTargetView*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle render target view, result: 0x%X.", result); } - - return mSwizzleRenderTargets[mipLevel]; - } - else - { - return NULL; } + + *outRTV = mSwizzleRenderTargets[mipLevel]; + return gl::Error(GL_NO_ERROR); } TextureStorage11_3D::TextureStorage11_3D(Renderer *renderer, GLenum internalformat, bool renderTarget, @@ -1314,8 +1414,10 @@ TextureStorage11_3D *TextureStorage11_3D::makeTextureStorage11_3D(TextureStorage return static_cast<TextureStorage11_3D*>(storage); } -void TextureStorage11_3D::associateImage(Image11* image, int level, int layerTarget) +void TextureStorage11_3D::associateImage(Image11* image, const gl::ImageIndex &index) { + GLint level = index.mipIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) @@ -1324,8 +1426,10 @@ void TextureStorage11_3D::associateImage(Image11* image, int level, int layerTar } } -bool TextureStorage11_3D::isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage) +bool TextureStorage11_3D::isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) { // This validation check should never return false. It means the Image/TextureStorage association is broken. @@ -1338,8 +1442,10 @@ bool TextureStorage11_3D::isAssociatedImageValid(int level, int layerTarget, Ima } // disassociateImage allows an Image to end its association with a Storage. -void TextureStorage11_3D::disassociateImage(int level, int layerTarget, Image11* expectedImage) +void TextureStorage11_3D::disassociateImage(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + ASSERT(0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) @@ -1354,8 +1460,10 @@ void TextureStorage11_3D::disassociateImage(int level, int layerTarget, Image11* } // releaseAssociatedImage prepares the Storage for a new Image association. It lets the old Image recover its data before ending the association. -void TextureStorage11_3D::releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage) +gl::Error TextureStorage11_3D::releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage) { + GLint level = index.mipIndex; + ASSERT((0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS)); if (0 <= level && level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS) @@ -1371,10 +1479,16 @@ void TextureStorage11_3D::releaseAssociatedImage(int level, int layerTarget, Ima { // Force the image to recover from storage before its data is overwritten. // This will reset mAssociatedImages[level] to NULL too. - mAssociatedImages[level]->recoverFromAssociatedStorage(); + gl::Error error = mAssociatedImages[level]->recoverFromAssociatedStorage(); + if (error.isError()) + { + return error; + } } } } + + return gl::Error(GL_NO_ERROR); } ID3D11Resource *TextureStorage11_3D::getResource() const @@ -1382,137 +1496,122 @@ ID3D11Resource *TextureStorage11_3D::getResource() const return mTexture; } -ID3D11ShaderResourceView *TextureStorage11_3D::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture) +gl::Error TextureStorage11_3D::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const { + ASSERT(outSRV); + D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; srvDesc.Format = format; srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; srvDesc.Texture3D.MostDetailedMip = baseLevel; srvDesc.Texture3D.MipLevels = mipLevels; - ID3D11ShaderResourceView *SRV = NULL; - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, &SRV); + HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, outSRV); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal texture storage SRV, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); - return SRV; + return gl::Error(GL_NO_ERROR); } -RenderTarget *TextureStorage11_3D::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureStorage11_3D::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { int mipLevel = index.mipIndex; + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); - if (mipLevel >= 0 && mipLevel < getLevelCount()) - { - ASSERT(mRenderTargetFormat != DXGI_FORMAT_UNKNOWN); + ASSERT(mRenderTargetFormat != DXGI_FORMAT_UNKNOWN); - if (!index.hasLayer()) + if (!index.hasLayer()) + { + if (!mLevelRenderTargets[mipLevel]) { - if (!mLevelRenderTargets[mipLevel]) + ID3D11ShaderResourceView *srv = NULL; + gl::Error error = getSRVLevel(mipLevel, &srv); + if (error.isError()) { - ID3D11ShaderResourceView *srv = getSRVLevel(mipLevel); - if (!srv) - { - return NULL; - } - - ID3D11Device *device = mRenderer->getDevice(); - - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D; - rtvDesc.Texture3D.MipSlice = mTopLevel + mipLevel; - rtvDesc.Texture3D.FirstWSlice = 0; - rtvDesc.Texture3D.WSize = -1; + return error; + } - ID3D11RenderTargetView *rtv; - HRESULT result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); + ID3D11Device *device = mRenderer->getDevice(); - if (result == E_OUTOFMEMORY) - { - SafeRelease(srv); - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D; + rtvDesc.Texture3D.MipSlice = mTopLevel + mipLevel; + rtvDesc.Texture3D.FirstWSlice = 0; + rtvDesc.Texture3D.WSize = -1; - mLevelRenderTargets[mipLevel] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(mipLevel), getLevelHeight(mipLevel), getLevelDepth(mipLevel)); + ID3D11RenderTargetView *rtv; + HRESULT result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); - // RenderTarget will take ownership of these resources - SafeRelease(rtv); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + SafeRelease(srv); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal render target view for texture storage, result: 0x%X.", result); } - return mLevelRenderTargets[mipLevel]; - } - else - { - int layer = index.layerIndex; + mLevelRenderTargets[mipLevel] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(mipLevel), getLevelHeight(mipLevel), getLevelDepth(mipLevel)); - LevelLayerKey key(mipLevel, layer); - if (mLevelLayerRenderTargets.find(key) == mLevelLayerRenderTargets.end()) - { - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result; + // RenderTarget will take ownership of these resources + SafeRelease(rtv); + } - // TODO, what kind of SRV is expected here? - ID3D11ShaderResourceView *srv = NULL; + ASSERT(outRT); + *outRT = mLevelRenderTargets[mipLevel]; + return gl::Error(GL_NO_ERROR); + } + else + { + int layer = index.layerIndex; - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D; - rtvDesc.Texture3D.MipSlice = mTopLevel + mipLevel; - rtvDesc.Texture3D.FirstWSlice = layer; - rtvDesc.Texture3D.WSize = 1; + LevelLayerKey key(mipLevel, layer); + if (mLevelLayerRenderTargets.find(key) == mLevelLayerRenderTargets.end()) + { + ID3D11Device *device = mRenderer->getDevice(); + HRESULT result; - ID3D11RenderTargetView *rtv; - result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); + // TODO, what kind of SRV is expected here? + ID3D11ShaderResourceView *srv = NULL; - if (result == E_OUTOFMEMORY) - { - SafeRelease(srv); - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D; + rtvDesc.Texture3D.MipSlice = mTopLevel + mipLevel; + rtvDesc.Texture3D.FirstWSlice = layer; + rtvDesc.Texture3D.WSize = 1; - mLevelLayerRenderTargets[key] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1); + ID3D11RenderTargetView *rtv; + result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); - // RenderTarget will take ownership of these resources - SafeRelease(rtv); - SafeRelease(srv); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + SafeRelease(srv); return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal render target view for texture storage, result: 0x%X.", result); } + ASSERT(SUCCEEDED(result)); - return mLevelLayerRenderTargets[key]; - } - } - - return NULL; -} - -void TextureStorage11_3D::generateMipmaps() -{ - // Base level must already be defined - - for (int level = 1; level < getLevelCount(); level++) - { - invalidateSwizzleCacheLevel(level); - - gl::ImageIndex srcIndex = gl::ImageIndex::Make3D(level - 1); - gl::ImageIndex destIndex = gl::ImageIndex::Make3D(level); + mLevelLayerRenderTargets[key] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1); - RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex)); - RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); + // RenderTarget will take ownership of these resources + SafeRelease(rtv); + } - generateMipmapLayer(source, dest); + ASSERT(outRT); + *outRT = mLevelLayerRenderTargets[key]; + return gl::Error(GL_NO_ERROR); } } -ID3D11Resource *TextureStorage11_3D::getSwizzleTexture() +gl::Error TextureStorage11_3D::getSwizzleTexture(ID3D11Resource **outTexture) { + ASSERT(outTexture); + if (!mSwizzleTexture) { ID3D11Device *device = mRenderer->getDevice(); @@ -1530,52 +1629,51 @@ ID3D11Resource *TextureStorage11_3D::getSwizzleTexture() HRESULT result = device->CreateTexture3D(&desc, NULL, &mSwizzleTexture); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11Texture3D*>(NULL)); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle texture, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); } - return mSwizzleTexture; + *outTexture = mSwizzleTexture; + return gl::Error(GL_NO_ERROR); } -ID3D11RenderTargetView *TextureStorage11_3D::getSwizzleRenderTarget(int mipLevel) +gl::Error TextureStorage11_3D::getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV) { - if (mipLevel >= 0 && mipLevel < getLevelCount()) + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); + ASSERT(outRTV); + + if (!mSwizzleRenderTargets[mipLevel]) { - if (!mSwizzleRenderTargets[mipLevel]) + ID3D11Resource *swizzleTexture = NULL; + gl::Error error = getSwizzleTexture(&swizzleTexture); + if (error.isError()) { - ID3D11Resource *swizzleTexture = getSwizzleTexture(); - if (!swizzleTexture) - { - return NULL; - } + return error; + } - ID3D11Device *device = mRenderer->getDevice(); + ID3D11Device *device = mRenderer->getDevice(); - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mSwizzleRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D; - rtvDesc.Texture3D.MipSlice = mTopLevel + mipLevel; - rtvDesc.Texture3D.FirstWSlice = 0; - rtvDesc.Texture3D.WSize = -1; + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mSwizzleRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D; + rtvDesc.Texture3D.MipSlice = mTopLevel + mipLevel; + rtvDesc.Texture3D.FirstWSlice = 0; + rtvDesc.Texture3D.WSize = -1; - HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); + HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11RenderTargetView*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle render target view, result: 0x%X.", result); } - - return mSwizzleRenderTargets[mipLevel]; - } - else - { - return NULL; } + + *outRTV = mSwizzleRenderTargets[mipLevel]; + return gl::Error(GL_NO_ERROR); } TextureStorage11_2DArray::TextureStorage11_2DArray(Renderer *renderer, GLenum internalformat, bool renderTarget, @@ -1684,8 +1782,11 @@ TextureStorage11_2DArray *TextureStorage11_2DArray::makeTextureStorage11_2DArray return static_cast<TextureStorage11_2DArray*>(storage); } -void TextureStorage11_2DArray::associateImage(Image11* image, int level, int layerTarget) +void TextureStorage11_2DArray::associateImage(Image11* image, const gl::ImageIndex &index) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + ASSERT(0 <= level && level < getLevelCount()); if (0 <= level && level < getLevelCount()) @@ -1695,8 +1796,11 @@ void TextureStorage11_2DArray::associateImage(Image11* image, int level, int lay } } -bool TextureStorage11_2DArray::isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage) +bool TextureStorage11_2DArray::isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + LevelLayerKey key(level, layerTarget); // This validation check should never return false. It means the Image/TextureStorage association is broken. @@ -1706,8 +1810,11 @@ bool TextureStorage11_2DArray::isAssociatedImageValid(int level, int layerTarget } // disassociateImage allows an Image to end its association with a Storage. -void TextureStorage11_2DArray::disassociateImage(int level, int layerTarget, Image11* expectedImage) +void TextureStorage11_2DArray::disassociateImage(const gl::ImageIndex &index, Image11* expectedImage) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + LevelLayerKey key(level, layerTarget); bool imageAssociationCorrect = (mAssociatedImages.find(key) != mAssociatedImages.end() && (mAssociatedImages[key] == expectedImage)); @@ -1720,8 +1827,11 @@ void TextureStorage11_2DArray::disassociateImage(int level, int layerTarget, Ima } // releaseAssociatedImage prepares the Storage for a new Image association. It lets the old Image recover its data before ending the association. -void TextureStorage11_2DArray::releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage) +gl::Error TextureStorage11_2DArray::releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage) { + GLint level = index.mipIndex; + GLint layerTarget = index.layerIndex; + LevelLayerKey key(level, layerTarget); ASSERT(mAssociatedImages.find(key) != mAssociatedImages.end()); @@ -1738,10 +1848,16 @@ void TextureStorage11_2DArray::releaseAssociatedImage(int level, int layerTarget { // Force the image to recover from storage before its data is overwritten. // This will reset mAssociatedImages[level] to NULL too. - mAssociatedImages[key]->recoverFromAssociatedStorage(); + gl::Error error = mAssociatedImages[key]->recoverFromAssociatedStorage(); + if (error.isError()) + { + return error; + } } } } + + return gl::Error(GL_NO_ERROR); } ID3D11Resource *TextureStorage11_2DArray::getResource() const @@ -1749,7 +1865,8 @@ ID3D11Resource *TextureStorage11_2DArray::getResource() const return mTexture; } -ID3D11ShaderResourceView *TextureStorage11_2DArray::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture) +gl::Error TextureStorage11_2DArray::createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const { D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; srvDesc.Format = format; @@ -1759,112 +1876,87 @@ ID3D11ShaderResourceView *TextureStorage11_2DArray::createSRV(int baseLevel, int srvDesc.Texture2DArray.FirstArraySlice = 0; srvDesc.Texture2DArray.ArraySize = mTextureDepth; - ID3D11ShaderResourceView *SRV = NULL; - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, &SRV); + HRESULT result = device->CreateShaderResourceView(texture, &srvDesc, outSRV); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal texture storage SRV, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); - return SRV; + return gl::Error(GL_NO_ERROR); } -RenderTarget *TextureStorage11_2DArray::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureStorage11_2DArray::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { ASSERT(index.hasLayer()); int mipLevel = index.mipIndex; int layer = index.layerIndex; - if (mipLevel >= 0 && mipLevel < getLevelCount()) - { - LevelLayerKey key(mipLevel, layer); - if (mRenderTargets.find(key) == mRenderTargets.end()) - { - ID3D11Device *device = mRenderer->getDevice(); - HRESULT result; - - D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; - srvDesc.Format = mShaderResourceFormat; - srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; - srvDesc.Texture2DArray.MostDetailedMip = mTopLevel + mipLevel; - srvDesc.Texture2DArray.MipLevels = 1; - srvDesc.Texture2DArray.FirstArraySlice = layer; - srvDesc.Texture2DArray.ArraySize = 1; + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); - ID3D11ShaderResourceView *srv; - result = device->CreateShaderResourceView(mTexture, &srvDesc, &srv); + LevelLayerKey key(mipLevel, layer); + if (mRenderTargets.find(key) == mRenderTargets.end()) + { + ID3D11Device *device = mRenderer->getDevice(); + HRESULT result; - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; + srvDesc.Format = mShaderResourceFormat; + srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; + srvDesc.Texture2DArray.MostDetailedMip = mTopLevel + mipLevel; + srvDesc.Texture2DArray.MipLevels = 1; + srvDesc.Texture2DArray.FirstArraySlice = layer; + srvDesc.Texture2DArray.ArraySize = 1; - if (mRenderTargetFormat != DXGI_FORMAT_UNKNOWN) - { - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; - rtvDesc.Texture2DArray.MipSlice = mTopLevel + mipLevel; - rtvDesc.Texture2DArray.FirstArraySlice = layer; - rtvDesc.Texture2DArray.ArraySize = 1; + ID3D11ShaderResourceView *srv; + result = device->CreateShaderResourceView(mTexture, &srvDesc, &srv); - ID3D11RenderTargetView *rtv; - result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal shader resource view for texture storage, result: 0x%X.", result); + } - if (result == E_OUTOFMEMORY) - { - SafeRelease(srv); - return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + if (mRenderTargetFormat != DXGI_FORMAT_UNKNOWN) + { + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; + rtvDesc.Texture2DArray.MipSlice = mTopLevel + mipLevel; + rtvDesc.Texture2DArray.FirstArraySlice = layer; + rtvDesc.Texture2DArray.ArraySize = 1; - mRenderTargets[key] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1); + ID3D11RenderTargetView *rtv; + result = device->CreateRenderTargetView(mTexture, &rtvDesc, &rtv); - // RenderTarget will take ownership of these resources - SafeRelease(rtv); - SafeRelease(srv); - } - else + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - UNREACHABLE(); + SafeRelease(srv); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal render target view for texture storage, result: 0x%X.", result); } - } - return mRenderTargets[key]; - } - else - { - return NULL; - } -} - -void TextureStorage11_2DArray::generateMipmaps() -{ - // Base level must already be defined + mRenderTargets[key] = new RenderTarget11(mRenderer, rtv, mTexture, srv, getLevelWidth(mipLevel), getLevelHeight(mipLevel), 1); - for (int level = 0; level < getLevelCount(); level++) - { - invalidateSwizzleCacheLevel(level); - for (unsigned int layer = 0; layer < mTextureDepth; layer++) + // RenderTarget will take ownership of these resources + SafeRelease(rtv); + SafeRelease(srv); + } + else { - gl::ImageIndex sourceIndex = gl::ImageIndex::Make2DArray(level - 1, layer); - gl::ImageIndex destIndex = gl::ImageIndex::Make2DArray(level, layer); - - RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(sourceIndex)); - RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); - - generateMipmapLayer(source, dest); + UNREACHABLE(); } } + + ASSERT(outRT); + *outRT = mRenderTargets[key]; + return gl::Error(GL_NO_ERROR); } -ID3D11Resource *TextureStorage11_2DArray::getSwizzleTexture() +gl::Error TextureStorage11_2DArray::getSwizzleTexture(ID3D11Resource **outTexture) { if (!mSwizzleTexture) { @@ -1885,52 +1977,51 @@ ID3D11Resource *TextureStorage11_2DArray::getSwizzleTexture() HRESULT result = device->CreateTexture2D(&desc, NULL, &mSwizzleTexture); - if (result == E_OUTOFMEMORY) + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11Texture2D*>(NULL)); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle texture, result: 0x%X.", result); } - ASSERT(SUCCEEDED(result)); } - return mSwizzleTexture; + *outTexture = mSwizzleTexture; + return gl::Error(GL_NO_ERROR); } -ID3D11RenderTargetView *TextureStorage11_2DArray::getSwizzleRenderTarget(int mipLevel) +gl::Error TextureStorage11_2DArray::getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV) { - if (mipLevel >= 0 && mipLevel < getLevelCount()) + ASSERT(mipLevel >= 0 && mipLevel < getLevelCount()); + ASSERT(outRTV); + + if (!mSwizzleRenderTargets[mipLevel]) { - if (!mSwizzleRenderTargets[mipLevel]) + ID3D11Resource *swizzleTexture = NULL; + gl::Error error = getSwizzleTexture(&swizzleTexture); + if (error.isError()) { - ID3D11Resource *swizzleTexture = getSwizzleTexture(); - if (!swizzleTexture) - { - return NULL; - } + return error; + } - ID3D11Device *device = mRenderer->getDevice(); + ID3D11Device *device = mRenderer->getDevice(); - D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; - rtvDesc.Format = mSwizzleRenderTargetFormat; - rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; - rtvDesc.Texture2DArray.MipSlice = mTopLevel + mipLevel; - rtvDesc.Texture2DArray.FirstArraySlice = 0; - rtvDesc.Texture2DArray.ArraySize = mTextureDepth; + D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; + rtvDesc.Format = mSwizzleRenderTargetFormat; + rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DARRAY; + rtvDesc.Texture2DArray.MipSlice = mTopLevel + mipLevel; + rtvDesc.Texture2DArray.FirstArraySlice = 0; + rtvDesc.Texture2DArray.ArraySize = mTextureDepth; - HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); + HRESULT result = device->CreateRenderTargetView(mSwizzleTexture, &rtvDesc, &mSwizzleRenderTargets[mipLevel]); - if (result == E_OUTOFMEMORY) - { - return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11RenderTargetView*>(NULL)); - } - ASSERT(SUCCEEDED(result)); + ASSERT(result == E_OUTOFMEMORY || SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal swizzle render target view, result: 0x%X.", result); } - - return mSwizzleRenderTargets[mipLevel]; - } - else - { - return NULL; } + + *outRTV = mSwizzleRenderTargets[mipLevel]; + return gl::Error(GL_NO_ERROR); } } diff --git a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h index da06aa6f..0355536b 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h +++ b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h @@ -11,6 +11,7 @@ #define LIBGLESV2_RENDERER_TEXTURESTORAGE11_H_ #include "libGLESv2/Texture.h" +#include "libGLESv2/Error.h" #include "libGLESv2/renderer/d3d/TextureStorage.h" #include <map> @@ -41,46 +42,48 @@ class TextureStorage11 : public TextureStorage UINT getBindFlags() const; virtual ID3D11Resource *getResource() const = 0; - virtual ID3D11ShaderResourceView *getSRV(const gl::SamplerState &samplerState); - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; + virtual gl::Error getSRV(const gl::SamplerState &samplerState, ID3D11ShaderResourceView **outSRV); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) = 0; - virtual void generateMipmaps() = 0; + virtual void generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex); virtual int getTopLevel() const; virtual bool isRenderTarget() const; virtual bool isManaged() const; virtual int getLevelCount() const; - UINT getSubresourceIndex(int mipLevel, int layerTarget) const; + UINT getSubresourceIndex(const gl::ImageIndex &index) const; - void generateSwizzles(GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha); + gl::Error generateSwizzles(GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha); void invalidateSwizzleCacheLevel(int mipLevel); void invalidateSwizzleCache(); - bool updateSubresourceLevel(ID3D11Resource *texture, unsigned int sourceSubresource, int level, - int layerTarget, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth); + gl::Error updateSubresourceLevel(ID3D11Resource *texture, unsigned int sourceSubresource, + const gl::ImageIndex &index, const gl::Box ©Area); - bool copySubresourceLevel(ID3D11Resource* dstTexture, unsigned int dstSubresource, int level, - int layerTarget, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth); + gl::Error copySubresourceLevel(ID3D11Resource* dstTexture, unsigned int dstSubresource, + const gl::ImageIndex &index, const gl::Box ®ion); - virtual void associateImage(Image11* image, int level, int layerTarget) = 0; - virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage) = 0; - virtual bool isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage) = 0; - virtual void releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage) = 0; + virtual void associateImage(Image11* image, const gl::ImageIndex &index) = 0; + virtual void disassociateImage(const gl::ImageIndex &index, Image11* expectedImage) = 0; + virtual bool isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage) = 0; + virtual gl::Error releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage) = 0; + + virtual gl::Error copyToStorage(TextureStorage *destStorage); + virtual gl::Error setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type, + const gl::PixelUnpackState &unpack, const uint8_t *pixelData); protected: TextureStorage11(Renderer *renderer, UINT bindFlags); - void generateMipmapLayer(RenderTarget11 *source, RenderTarget11 *dest); int getLevelWidth(int mipLevel) const; int getLevelHeight(int mipLevel) const; int getLevelDepth(int mipLevel) const; - virtual ID3D11Resource *getSwizzleTexture() = 0; - virtual ID3D11RenderTargetView *getSwizzleRenderTarget(int mipLevel) = 0; - ID3D11ShaderResourceView *getSRVLevel(int mipLevel); + virtual gl::Error getSwizzleTexture(ID3D11Resource **outTexture) = 0; + virtual gl::Error getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV) = 0; + gl::Error getSRVLevel(int mipLevel, ID3D11ShaderResourceView **outSRV); - virtual ID3D11ShaderResourceView *createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture) = 0; + virtual gl::Error createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const = 0; void verifySwizzleExists(GLenum swizzleRed, GLenum swizzleGreen, GLenum swizzleBlue, GLenum swizzleAlpha); @@ -114,39 +117,24 @@ class TextureStorage11 : public TextureStorage }; SwizzleCacheValue mSwizzleCache[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; + private: + DISALLOW_COPY_AND_ASSIGN(TextureStorage11); + + const UINT mBindFlags; + struct SRVKey { SRVKey(int baseLevel = 0, int mipLevels = 0, bool swizzle = false); - bool operator==(const SRVKey &rhs) const; + bool operator<(const SRVKey &rhs) const; int baseLevel; int mipLevels; bool swizzle; }; + typedef std::map<SRVKey, ID3D11ShaderResourceView *> SRVCache; - struct SRVPair - { - SRVKey key; - ID3D11ShaderResourceView *srv; - }; - - struct SRVCache - { - ~SRVCache(); - - ID3D11ShaderResourceView *find(const SRVKey &key) const; - ID3D11ShaderResourceView *add(const SRVKey &key, ID3D11ShaderResourceView *srv); - - std::vector<SRVPair> cache; - }; - - private: - DISALLOW_COPY_AND_ASSIGN(TextureStorage11); - - const UINT mBindFlags; - - SRVCache srvCache; + SRVCache mSrvCache; ID3D11ShaderResourceView *mLevelSRVs[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; }; @@ -160,23 +148,22 @@ class TextureStorage11_2D : public TextureStorage11 static TextureStorage11_2D *makeTextureStorage11_2D(TextureStorage *storage); virtual ID3D11Resource *getResource() const; - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); - - virtual void generateMipmaps(); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); - virtual void associateImage(Image11* image, int level, int layerTarget); - virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); - virtual bool isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage); - virtual void releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage); + virtual void associateImage(Image11* image, const gl::ImageIndex &index); + virtual void disassociateImage(const gl::ImageIndex &index, Image11* expectedImage); + virtual bool isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage); + virtual gl::Error releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage); protected: - virtual ID3D11Resource *getSwizzleTexture(); - virtual ID3D11RenderTargetView *getSwizzleRenderTarget(int mipLevel); + virtual gl::Error getSwizzleTexture(ID3D11Resource **outTexture); + virtual gl::Error getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV); private: DISALLOW_COPY_AND_ASSIGN(TextureStorage11_2D); - virtual ID3D11ShaderResourceView *createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture); + virtual gl::Error createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const; ID3D11Texture2D *mTexture; RenderTarget11 *mRenderTarget[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; @@ -196,31 +183,32 @@ class TextureStorage11_Cube : public TextureStorage11 static TextureStorage11_Cube *makeTextureStorage11_Cube(TextureStorage *storage); virtual ID3D11Resource *getResource() const; - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); - - virtual void generateMipmaps(); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); - virtual void associateImage(Image11* image, int level, int layerTarget); - virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); - virtual bool isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage); - virtual void releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage); + virtual void associateImage(Image11* image, const gl::ImageIndex &index); + virtual void disassociateImage(const gl::ImageIndex &index, Image11* expectedImage); + virtual bool isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage); + virtual gl::Error releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage); protected: - virtual ID3D11Resource *getSwizzleTexture(); - virtual ID3D11RenderTargetView *getSwizzleRenderTarget(int mipLevel); + virtual gl::Error getSwizzleTexture(ID3D11Resource **outTexture); + virtual gl::Error getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV); private: DISALLOW_COPY_AND_ASSIGN(TextureStorage11_Cube); - virtual ID3D11ShaderResourceView *createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture); + virtual gl::Error createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const; + + static const size_t CUBE_FACE_COUNT = 6; ID3D11Texture2D *mTexture; - RenderTarget11 *mRenderTarget[6][gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; + RenderTarget11 *mRenderTarget[CUBE_FACE_COUNT][gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; ID3D11Texture2D *mSwizzleTexture; ID3D11RenderTargetView *mSwizzleRenderTargets[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; - Image11 *mAssociatedImages[6][gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; + Image11 *mAssociatedImages[CUBE_FACE_COUNT][gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS]; }; class TextureStorage11_3D : public TextureStorage11 @@ -235,23 +223,22 @@ class TextureStorage11_3D : public TextureStorage11 virtual ID3D11Resource *getResource() const; // Handles both layer and non-layer RTs - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); - - virtual void generateMipmaps(); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); - virtual void associateImage(Image11* image, int level, int layerTarget); - virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); - virtual bool isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage); - virtual void releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage); + virtual void associateImage(Image11* image, const gl::ImageIndex &index); + virtual void disassociateImage(const gl::ImageIndex &index, Image11* expectedImage); + virtual bool isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage); + virtual gl::Error releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage); protected: - virtual ID3D11Resource *getSwizzleTexture(); - virtual ID3D11RenderTargetView *getSwizzleRenderTarget(int mipLevel); + virtual gl::Error getSwizzleTexture(ID3D11Resource **outTexture); + virtual gl::Error getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV); private: DISALLOW_COPY_AND_ASSIGN(TextureStorage11_3D); - virtual ID3D11ShaderResourceView *createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture); + virtual gl::Error createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const; typedef std::pair<int, int> LevelLayerKey; typedef std::map<LevelLayerKey, RenderTarget11*> RenderTargetMap; @@ -276,23 +263,22 @@ class TextureStorage11_2DArray : public TextureStorage11 static TextureStorage11_2DArray *makeTextureStorage11_2DArray(TextureStorage *storage); virtual ID3D11Resource *getResource() const; - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); - - virtual void generateMipmaps(); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); - virtual void associateImage(Image11* image, int level, int layerTarget); - virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); - virtual bool isAssociatedImageValid(int level, int layerTarget, Image11* expectedImage); - virtual void releaseAssociatedImage(int level, int layerTarget, Image11* incomingImage); + virtual void associateImage(Image11* image, const gl::ImageIndex &index); + virtual void disassociateImage(const gl::ImageIndex &index, Image11* expectedImage); + virtual bool isAssociatedImageValid(const gl::ImageIndex &index, Image11* expectedImage); + virtual gl::Error releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage); protected: - virtual ID3D11Resource *getSwizzleTexture(); - virtual ID3D11RenderTargetView *getSwizzleRenderTarget(int mipLevel); + virtual gl::Error getSwizzleTexture(ID3D11Resource **outTexture); + virtual gl::Error getSwizzleRenderTarget(int mipLevel, ID3D11RenderTargetView **outRTV); private: DISALLOW_COPY_AND_ASSIGN(TextureStorage11_2DArray); - virtual ID3D11ShaderResourceView *createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture); + virtual gl::Error createSRV(int baseLevel, int mipLevels, DXGI_FORMAT format, ID3D11Resource *texture, + ID3D11ShaderResourceView **outSRV) const; typedef std::pair<int, int> LevelLayerKey; typedef std::map<LevelLayerKey, RenderTarget11*> RenderTargetMap; diff --git a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp index b1867fba..9ffc32e6 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp @@ -10,6 +10,7 @@ #include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h" #include "libGLESv2/renderer/d3d/d3d11/formatutils11.h" #include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h" +#include "libGLESv2/renderer/Workarounds.h" #include "libGLESv2/ProgramBinary.h" #include "libGLESv2/Framebuffer.h" @@ -815,7 +816,7 @@ static size_t GetMaximumStreamOutputBuffers(D3D_FEATURE_LEVEL featureLevel) } } -static size_t GetMaximumStreamOutputInterleavedComponenets(D3D_FEATURE_LEVEL featureLevel) +static size_t GetMaximumStreamOutputInterleavedComponents(D3D_FEATURE_LEVEL featureLevel) { switch (featureLevel) { @@ -833,12 +834,12 @@ static size_t GetMaximumStreamOutputInterleavedComponenets(D3D_FEATURE_LEVEL fea } } -static size_t GetMaximumStreamOutputSeparateCompeonents(D3D_FEATURE_LEVEL featureLevel) +static size_t GetMaximumStreamOutputSeparateComponents(D3D_FEATURE_LEVEL featureLevel) { switch (featureLevel) { case D3D_FEATURE_LEVEL_11_1: - case D3D_FEATURE_LEVEL_11_0: return GetMaximumStreamOutputInterleavedComponenets(featureLevel) / + case D3D_FEATURE_LEVEL_11_0: return GetMaximumStreamOutputInterleavedComponents(featureLevel) / GetMaximumStreamOutputBuffers(featureLevel); @@ -947,9 +948,9 @@ void GenerateCaps(ID3D11Device *device, gl::Caps *caps, gl::TextureCapsMap *text caps->maxCombinedTextureImageUnits = caps->maxVertexTextureImageUnits + caps->maxTextureImageUnits; // Transform feedback limits - caps->maxTransformFeedbackInterleavedComponents = GetMaximumStreamOutputInterleavedComponenets(featureLevel); + caps->maxTransformFeedbackInterleavedComponents = GetMaximumStreamOutputInterleavedComponents(featureLevel); caps->maxTransformFeedbackSeparateAttributes = GetMaximumStreamOutputBuffers(featureLevel); - caps->maxTransformFeedbackSeparateComponents = GetMaximumStreamOutputSeparateCompeonents(featureLevel); + caps->maxTransformFeedbackSeparateComponents = GetMaximumStreamOutputSeparateComponents(featureLevel); // GL extension support extensions->setTextureExtensionSupport(*textureCapsMap); @@ -1065,10 +1066,24 @@ HRESULT SetDebugName(ID3D11DeviceChild *resource, const char *name) #endif } -RenderTarget11 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) +gl::Error GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment, RenderTarget11 **outRT) { - RenderTarget *renderTarget = rx::GetAttachmentRenderTarget(attachment); - return RenderTarget11::makeRenderTarget11(renderTarget); + RenderTarget *renderTarget = NULL; + gl::Error error = rx::GetAttachmentRenderTarget(attachment, &renderTarget); + if (error.isError()) + { + return error; + } + *outRT = RenderTarget11::makeRenderTarget11(renderTarget); + return gl::Error(GL_NO_ERROR); +} + +Workarounds GenerateWorkarounds() +{ + Workarounds workarounds; + workarounds.mrtPerfWorkaround = true; + workarounds.setDataFasterThanImageUpload = true; + return workarounds; } } diff --git a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h index 4c05eb92..9df9c957 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h +++ b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h @@ -12,6 +12,7 @@ #include "libGLESv2/angletypes.h" #include "libGLESv2/Caps.h" +#include "libGLESv2/Error.h" #include <vector> @@ -23,6 +24,7 @@ class FramebufferAttachment; namespace rx { class RenderTarget11; +struct Workarounds; namespace gl_d3d11 { @@ -176,7 +178,9 @@ inline void SetBufferData(ID3D11DeviceContext *context, ID3D11Buffer *constantBu context->Unmap(constantBuffer, 0); } -RenderTarget11 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment); +gl::Error GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment, RenderTarget11 **outRT); + +Workarounds GenerateWorkarounds(); } diff --git a/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp index 80503d53..abf8359b 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp @@ -46,10 +46,16 @@ const size_t g_shaderSize[] = namespace rx { + Blit9::Blit9(rx::Renderer9 *renderer) - : mRenderer(renderer), mQuadVertexBuffer(NULL), mQuadVertexDeclaration(NULL), mSavedStateBlock(NULL), mSavedRenderTarget(NULL), mSavedDepthStencil(NULL) + : mRenderer(renderer), + mGeometryLoaded(false), + mQuadVertexBuffer(NULL), + mQuadVertexDeclaration(NULL), + mSavedStateBlock(NULL), + mSavedRenderTarget(NULL), + mSavedDepthStencil(NULL) { - initGeometry(); memset(mCompiledShaders, 0, sizeof(mCompiledShaders)); } @@ -65,8 +71,13 @@ Blit9::~Blit9() } } -void Blit9::initGeometry() +gl::Error Blit9::initialize() { + if (mGeometryLoaded) + { + return gl::Error(GL_NO_ERROR); + } + static const float quad[] = { -1, -1, @@ -82,7 +93,7 @@ void Blit9::initGeometry() if (FAILED(result)) { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create internal blit vertex shader, result: 0x%X.", result); } void *lockPtr = NULL; @@ -91,7 +102,8 @@ void Blit9::initGeometry() if (FAILED(result) || lockPtr == NULL) { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); - return gl::error(GL_OUT_OF_MEMORY); + SafeRelease(mQuadVertexBuffer); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock internal blit vertex shader, result: 0x%X.", result); } memcpy(lockPtr, quad, sizeof(quad)); @@ -108,14 +120,18 @@ void Blit9::initGeometry() if (FAILED(result)) { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); - return gl::error(GL_OUT_OF_MEMORY); + SafeRelease(mQuadVertexBuffer); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock internal blit vertex declaration, result: 0x%X.", result); } + + mGeometryLoaded = true; + return gl::Error(GL_NO_ERROR); } template <class D3DShaderType> -bool Blit9::setShader(ShaderId source, const char *profile, - D3DShaderType *(rx::Renderer9::*createShader)(const DWORD *, size_t length), - HRESULT (WINAPI IDirect3DDevice9::*setShader)(D3DShaderType*)) +gl::Error Blit9::setShader(ShaderId source, const char *profile, + gl::Error (Renderer9::*createShader)(const DWORD *, size_t length, D3DShaderType **outShader), + HRESULT (WINAPI IDirect3DDevice9::*setShader)(D3DShaderType*)) { IDirect3DDevice9 *device = mRenderer->getDevice(); @@ -130,33 +146,30 @@ bool Blit9::setShader(ShaderId source, const char *profile, const BYTE* shaderCode = g_shaderCode[source]; size_t shaderSize = g_shaderSize[source]; - shader = (mRenderer->*createShader)(reinterpret_cast<const DWORD*>(shaderCode), shaderSize); - if (!shader) + gl::Error error = (mRenderer->*createShader)(reinterpret_cast<const DWORD*>(shaderCode), shaderSize, &shader); + if (error.isError()) { - ERR("Failed to create shader for blit operation"); - return false; + return error; } mCompiledShaders[source] = shader; } HRESULT hr = (device->*setShader)(shader); - if (FAILED(hr)) { - ERR("Failed to set shader for blit operation"); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to set shader for blit operation, result: 0x%X.", hr); } - return true; + return gl::Error(GL_NO_ERROR); } -bool Blit9::setVertexShader(ShaderId shader) +gl::Error Blit9::setVertexShader(ShaderId shader) { return setShader<IDirect3DVertexShader9>(shader, "vs_2_0", &rx::Renderer9::createVertexShader, &IDirect3DDevice9::SetVertexShader); } -bool Blit9::setPixelShader(ShaderId shader) +gl::Error Blit9::setPixelShader(ShaderId shader) { return setShader<IDirect3DPixelShader9>(shader, "ps_2_0", &rx::Renderer9::createPixelShader, &IDirect3DDevice9::SetPixelShader); } @@ -175,12 +188,19 @@ RECT Blit9::getSurfaceRect(IDirect3DSurface9 *surface) const return rect; } -bool Blit9::boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest) +gl::Error Blit9::boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest) { - IDirect3DTexture9 *texture = copySurfaceToTexture(source, getSurfaceRect(source)); - if (!texture) + gl::Error error = initialize(); + if (error.isError()) { - return false; + return error; + } + + IDirect3DTexture9 *texture = NULL; + error = copySurfaceToTexture(source, getSurfaceRect(source), &texture); + if (error.isError()) + { + return error; } IDirect3DDevice9 *device = mRenderer->getDevice(); @@ -205,87 +225,80 @@ bool Blit9::boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest) restoreState(); - return true; + return gl::Error(GL_NO_ERROR); } -bool Blit9::copy2D(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) +gl::Error Blit9::copy2D(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) { - RenderTarget9 *renderTarget = NULL; - IDirect3DSurface9 *source = NULL; - gl::FramebufferAttachment *colorbuffer = framebuffer->getColorbuffer(0); - - if (colorbuffer) + gl::Error error = initialize(); + if (error.isError()) { - renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); + return error; } - if (renderTarget) - { - source = renderTarget->getSurface(); - } + gl::FramebufferAttachment *colorbuffer = framebuffer->getColorbuffer(0); + ASSERT(colorbuffer); - if (!source) + RenderTarget9 *renderTarget9 = NULL; + error = d3d9::GetAttachmentRenderTarget(colorbuffer, &renderTarget9); + if (error.isError()) { - ERR("Failed to retrieve the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(renderTarget9); + + IDirect3DSurface9 *source = renderTarget9->getSurface(); + ASSERT(source); TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); IDirect3DSurface9 *destSurface = storage9->getSurfaceLevel(level, true); - bool result = false; + ASSERT(destSurface); - if (destSurface) - { - result = copy(source, sourceRect, destFormat, xoffset, yoffset, destSurface); - SafeRelease(destSurface); - } + gl::Error result = copy(source, sourceRect, destFormat, xoffset, yoffset, destSurface); + SafeRelease(destSurface); SafeRelease(source); + return result; } -bool Blit9::copyCube(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) +gl::Error Blit9::copyCube(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) { - RenderTarget9 *renderTarget = NULL; - IDirect3DSurface9 *source = NULL; - gl::FramebufferAttachment *colorbuffer = framebuffer->getColorbuffer(0); - - if (colorbuffer) + gl::Error error = initialize(); + if (error.isError()) { - renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); + return error; } - if (renderTarget) - { - source = renderTarget->getSurface(); - } + gl::FramebufferAttachment *colorbuffer = framebuffer->getColorbuffer(0); + ASSERT(colorbuffer); - if (!source) + RenderTarget9 *renderTarget9 = NULL; + error = d3d9::GetAttachmentRenderTarget(colorbuffer, &renderTarget9); + if (error.isError()) { - ERR("Failed to retrieve the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(renderTarget9); + + IDirect3DSurface9 *source = renderTarget9->getSurface(); + ASSERT(source); TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); IDirect3DSurface9 *destSurface = storage9->getCubeMapSurface(target, level, true); - bool result = false; + ASSERT(destSurface); - if (destSurface) - { - result = copy(source, sourceRect, destFormat, xoffset, yoffset, destSurface); - SafeRelease(destSurface); - } + gl::Error result = copy(source, sourceRect, destFormat, xoffset, yoffset, destSurface); + SafeRelease(destSurface); SafeRelease(source); + return result; } -bool Blit9::copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest) +gl::Error Blit9::copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest) { - if (!dest) - { - return false; - } + ASSERT(source != NULL && dest != NULL); IDirect3DDevice9 *device = mRenderer->getDevice(); @@ -303,22 +316,30 @@ bool Blit9::copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destF if (FAILED(result)) { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); - return gl::error(GL_OUT_OF_MEMORY, false); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to blit between textures, StretchRect result: 0x%X.", result); } + + return gl::Error(GL_NO_ERROR); } else { return formatConvert(source, sourceRect, destFormat, xoffset, yoffset, dest); } - return true; } -bool Blit9::formatConvert(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest) +gl::Error Blit9::formatConvert(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest) { - IDirect3DTexture9 *texture = copySurfaceToTexture(source, sourceRect); - if (!texture) + gl::Error error = initialize(); + if (error.isError()) { - return false; + return error; + } + + IDirect3DTexture9 *texture = NULL; + error = copySurfaceToTexture(source, sourceRect, &texture); + if (error.isError()) + { + return error; } IDirect3DDevice9 *device = mRenderer->getDevice(); @@ -331,7 +352,9 @@ bool Blit9::formatConvert(IDirect3DSurface9 *source, const RECT &sourceRect, GLe setViewport(sourceRect, xoffset, yoffset); setCommonBlitState(); - if (setFormatConvertShaders(destFormat)) + + error = setFormatConvertShaders(destFormat); + if (!error.isError()) { render(); } @@ -340,12 +363,16 @@ bool Blit9::formatConvert(IDirect3DSurface9 *source, const RECT &sourceRect, GLe restoreState(); - return true; + return error; } -bool Blit9::setFormatConvertShaders(GLenum destFormat) +gl::Error Blit9::setFormatConvertShaders(GLenum destFormat) { - bool okay = setVertexShader(SHADER_VS_STANDARD); + gl::Error error = setVertexShader(SHADER_VS_STANDARD); + if (error.isError()) + { + return error; + } switch (destFormat) { @@ -356,18 +383,18 @@ bool Blit9::setFormatConvertShaders(GLenum destFormat) case GL_RG_EXT: case GL_RED_EXT: case GL_ALPHA: - okay = okay && setPixelShader(SHADER_PS_COMPONENTMASK); + error = setPixelShader(SHADER_PS_COMPONENTMASK); break; case GL_LUMINANCE: case GL_LUMINANCE_ALPHA: - okay = okay && setPixelShader(SHADER_PS_LUMINANCE); + error = setPixelShader(SHADER_PS_LUMINANCE); break; } - if (!okay) + if (error.isError()) { - return false; + return error; } enum { X = 0, Y = 1, Z = 2, W = 3 }; @@ -463,15 +490,12 @@ bool Blit9::setFormatConvertShaders(GLenum destFormat) mRenderer->getDevice()->SetPixelShaderConstantF(0, psConst, 2); - return true; + return gl::Error(GL_NO_ERROR); } -IDirect3DTexture9 *Blit9::copySurfaceToTexture(IDirect3DSurface9 *surface, const RECT &sourceRect) +gl::Error Blit9::copySurfaceToTexture(IDirect3DSurface9 *surface, const RECT &sourceRect, IDirect3DTexture9 **outTexture) { - if (!surface) - { - return NULL; - } + ASSERT(surface); IDirect3DDevice9 *device = mRenderer->getDevice(); @@ -485,7 +509,7 @@ IDirect3DTexture9 *Blit9::copySurfaceToTexture(IDirect3DSurface9 *surface, const if (FAILED(result)) { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); - return gl::error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to allocate internal texture for blit, result: 0x%X.", result); } IDirect3DSurface9 *textureSurface; @@ -495,7 +519,7 @@ IDirect3DTexture9 *Blit9::copySurfaceToTexture(IDirect3DSurface9 *surface, const { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); SafeRelease(texture); - return gl::error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to query surface of internal blit texture, result: 0x%X.", result); } mRenderer->endScene(); @@ -507,10 +531,11 @@ IDirect3DTexture9 *Blit9::copySurfaceToTexture(IDirect3DSurface9 *surface, const { ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); SafeRelease(texture); - return gl::error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to copy between internal blit textures, result: 0x%X.", result); } - return texture; + *outTexture = texture; + return gl::Error(GL_NO_ERROR); } void Blit9::setViewport(const RECT &sourceRect, GLint xoffset, GLint yoffset) diff --git a/src/libGLESv2/renderer/d3d/d3d9/Blit9.h b/src/libGLESv2/renderer/d3d/d3d9/Blit9.h index 46a3ee1c..ca722744 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Blit9.h +++ b/src/libGLESv2/renderer/d3d/d3d9/Blit9.h @@ -10,6 +10,7 @@ #define LIBGLESV2_BLIT9_H_ #include "common/angleutils.h" +#include "libGLESv2/Error.h" #include <GLES2/gl2.h> @@ -29,32 +30,33 @@ class Blit9 explicit Blit9(Renderer9 *renderer); ~Blit9(); + gl::Error initialize(); + // Copy from source surface to dest surface. // sourceRect, xoffset, yoffset are in D3D coordinates (0,0 in upper-left) - bool copy2D(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level); - bool copyCube(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level); + gl::Error copy2D(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level); + gl::Error copyCube(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level); // Copy from source surface to dest surface. // sourceRect, xoffset, yoffset are in D3D coordinates (0,0 in upper-left) // source is interpreted as RGBA and destFormat specifies the desired result format. For example, if destFormat = GL_RGB, the alpha channel will be forced to 0. - bool formatConvert(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest); + gl::Error formatConvert(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest); // 2x2 box filter sample from source to dest. // Requires that source is RGB(A) and dest has the same format as source. - bool boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest); + gl::Error boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest); private: rx::Renderer9 *mRenderer; + bool mGeometryLoaded; IDirect3DVertexBuffer9 *mQuadVertexBuffer; IDirect3DVertexDeclaration9 *mQuadVertexDeclaration; - void initGeometry(); - - bool setFormatConvertShaders(GLenum destFormat); + gl::Error setFormatConvertShaders(GLenum destFormat); - bool copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest); - IDirect3DTexture9 *copySurfaceToTexture(IDirect3DSurface9 *surface, const RECT &sourceRect); + gl::Error copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, IDirect3DSurface9 *dest); + gl::Error copySurfaceToTexture(IDirect3DSurface9 *surface, const RECT &sourceRect, IDirect3DTexture9 **outTexture); void setViewport(const RECT &sourceRect, GLint xoffset, GLint yoffset); void setCommonBlitState(); RECT getSurfaceRect(IDirect3DSurface9 *surface) const; @@ -74,12 +76,12 @@ class Blit9 IUnknown *mCompiledShaders[SHADER_COUNT]; template <class D3DShaderType> - bool setShader(ShaderId source, const char *profile, - D3DShaderType *(Renderer9::*createShader)(const DWORD *, size_t length), - HRESULT (WINAPI IDirect3DDevice9::*setShader)(D3DShaderType*)); + gl::Error setShader(ShaderId source, const char *profile, + gl::Error (Renderer9::*createShader)(const DWORD *, size_t length, D3DShaderType **outShader), + HRESULT (WINAPI IDirect3DDevice9::*setShader)(D3DShaderType*)); - bool setVertexShader(ShaderId shader); - bool setPixelShader(ShaderId shader); + gl::Error setVertexShader(ShaderId shader); + gl::Error setPixelShader(ShaderId shader); void render(); void saveState(); diff --git a/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp index c02db515..ff79a8af 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp @@ -41,7 +41,7 @@ gl::Error Buffer9::setData(const void* data, size_t size, GLenum usage) } mSize = size; - if (data) + if (data && size > 0) { memcpy(mMemory.data(), data, size); } @@ -72,7 +72,7 @@ gl::Error Buffer9::setSubData(const void* data, size_t size, size_t offset) } mSize = std::max(mSize, offset + size); - if (data) + if (data && size > 0) { memcpy(mMemory.data() + offset, data, size); } diff --git a/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp index e352a5f5..66263fe1 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp @@ -4,7 +4,7 @@ // found in the LICENSE file. // -// Fence9.cpp: Defines the rx::Fence9 class. +// Fence9.cpp: Defines the rx::FenceNV9 class. #include "libGLESv2/renderer/d3d/d3d9/Fence9.h" #include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h" @@ -14,39 +14,41 @@ namespace rx { -Fence9::Fence9(rx::Renderer9 *renderer) +FenceNV9::FenceNV9(Renderer9 *renderer) + : FenceNVImpl(), + mRenderer(renderer), + mQuery(NULL) { - mRenderer = renderer; - mQuery = NULL; } -Fence9::~Fence9() +FenceNV9::~FenceNV9() { SafeRelease(mQuery); } -bool Fence9::isSet() const -{ - return mQuery != NULL; -} - -void Fence9::set() +gl::Error FenceNV9::set() { if (!mQuery) { - mQuery = mRenderer->allocateEventQuery(); - if (!mQuery) + gl::Error error = mRenderer->allocateEventQuery(&mQuery); + if (error.isError()) { - return gl::error(GL_OUT_OF_MEMORY); + return error; } } HRESULT result = mQuery->Issue(D3DISSUE_END); - UNUSED_ASSERTION_VARIABLE(result); - ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); + SafeRelease(mQuery); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to end event query, result: 0x%X.", result); + } + + return gl::Error(GL_NO_ERROR); } -bool Fence9::test(bool flushCommandBuffer) +gl::Error FenceNV9::test(bool flushCommandBuffer, GLboolean *outFinished) { ASSERT(mQuery); @@ -56,17 +58,34 @@ bool Fence9::test(bool flushCommandBuffer) if (d3d9::isDeviceLostError(result)) { mRenderer->notifyDeviceLost(); - return gl::error(GL_OUT_OF_MEMORY, true); + return gl::Error(GL_OUT_OF_MEMORY, "Device was lost while querying result of an event query."); + } + else if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Failed to get query data, result: 0x%X.", result); } ASSERT(result == S_OK || result == S_FALSE); - - return (result == S_OK); + *outFinished = ((result == S_OK) ? GL_TRUE : GL_FALSE); + return gl::Error(GL_NO_ERROR); } -bool Fence9::hasError() const +gl::Error FenceNV9::finishFence(GLboolean *outFinished) { - return mRenderer->isDeviceLost(); + ASSERT(outFinished); + + while (*outFinished != GL_TRUE) + { + gl::Error error = test(true, outFinished); + if (error.isError()) + { + return error; + } + + Sleep(0); + } + + return gl::Error(GL_NO_ERROR); } } diff --git a/src/libGLESv2/renderer/d3d/d3d9/Fence9.h b/src/libGLESv2/renderer/d3d/d3d9/Fence9.h index e923a217..d7873d52 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Fence9.h +++ b/src/libGLESv2/renderer/d3d/d3d9/Fence9.h @@ -4,7 +4,7 @@ // found in the LICENSE file. // -// Fence9.h: Defines the rx::Fence9 class which implements rx::FenceImpl. +// Fence9.h: Defines the rx::FenceNV9 class which implements rx::FenceNVImpl. #ifndef LIBGLESV2_RENDERER_FENCE9_H_ #define LIBGLESV2_RENDERER_FENCE9_H_ @@ -15,21 +15,20 @@ namespace rx { class Renderer9; -class Fence9 : public FenceImpl +class FenceNV9 : public FenceNVImpl { public: - explicit Fence9(rx::Renderer9 *renderer); - virtual ~Fence9(); + explicit FenceNV9(Renderer9 *renderer); + virtual ~FenceNV9(); - bool isSet() const; - void set(); - bool test(bool flushCommandBuffer); - bool hasError() const; + gl::Error set(); + gl::Error test(bool flushCommandBuffer, GLboolean *outFinished); + gl::Error finishFence(GLboolean *outFinished); private: - DISALLOW_COPY_AND_ASSIGN(Fence9); + DISALLOW_COPY_AND_ASSIGN(FenceNV9); - rx::Renderer9 *mRenderer; + Renderer9 *mRenderer; IDirect3DQuery9 *mQuery; }; diff --git a/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp index 18383fba..4d2b9b04 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp @@ -17,7 +17,7 @@ #include "libGLESv2/Framebuffer.h" #include "libGLESv2/FramebufferAttachment.h" #include "libGLESv2/Renderbuffer.h" - +#include "common/utilities.h" namespace rx { @@ -92,35 +92,47 @@ void Image9::generateMipmap(Image9 *dest, Image9 *source) dest->markDirty(); } -void Image9::copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source) +gl::Error Image9::copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source) { D3DLOCKED_RECT sourceLock = {0}; D3DLOCKED_RECT destLock = {0}; - source->LockRect(&sourceLock, NULL, 0); - dest->LockRect(&destLock, NULL, 0); + HRESULT result; - if (sourceLock.pBits && destLock.pBits) + result = source->LockRect(&sourceLock, NULL, 0); + if (FAILED(result)) { - D3DSURFACE_DESC desc; - source->GetDesc(&desc); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock source surface for copy, result: 0x%X.", result); + } - const d3d9::D3DFormat &d3dFormatInfo = d3d9::GetD3DFormatInfo(desc.Format); - unsigned int rows = desc.Height / d3dFormatInfo.blockHeight; + result = dest->LockRect(&destLock, NULL, 0); + if (FAILED(result)) + { + source->UnlockRect(); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock source surface for copy, result: 0x%X.", result); + } - unsigned int bytes = d3d9::ComputeBlockSize(desc.Format, desc.Width, d3dFormatInfo.blockHeight); - ASSERT(bytes <= static_cast<unsigned int>(sourceLock.Pitch) && - bytes <= static_cast<unsigned int>(destLock.Pitch)); + ASSERT(sourceLock.pBits && destLock.pBits); - for(unsigned int i = 0; i < rows; i++) - { - memcpy((char*)destLock.pBits + destLock.Pitch * i, (char*)sourceLock.pBits + sourceLock.Pitch * i, bytes); - } + D3DSURFACE_DESC desc; + source->GetDesc(&desc); - source->UnlockRect(); - dest->UnlockRect(); + const d3d9::D3DFormat &d3dFormatInfo = d3d9::GetD3DFormatInfo(desc.Format); + unsigned int rows = desc.Height / d3dFormatInfo.blockHeight; + + unsigned int bytes = d3d9::ComputeBlockSize(desc.Format, desc.Width, d3dFormatInfo.blockHeight); + ASSERT(bytes <= static_cast<unsigned int>(sourceLock.Pitch) && + bytes <= static_cast<unsigned int>(destLock.Pitch)); + + for(unsigned int i = 0; i < rows; i++) + { + memcpy((char*)destLock.pBits + destLock.Pitch * i, (char*)sourceLock.pBits + sourceLock.Pitch * i, bytes); } - else UNREACHABLE(); + + source->UnlockRect(); + dest->UnlockRect(); + + return gl::Error(GL_NO_ERROR); } bool Image9::redefine(rx::Renderer *renderer, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool forceRelease) @@ -270,19 +282,19 @@ IDirect3DSurface9 *Image9::getSurface() return mSurface; } -void Image9::setManagedSurface2D(TextureStorage *storage, int level) +gl::Error Image9::setManagedSurface2D(TextureStorage *storage, int level) { TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); - setManagedSurface(storage9->getSurfaceLevel(level, false)); + return setManagedSurface(storage9->getSurfaceLevel(level, false)); } -void Image9::setManagedSurfaceCube(TextureStorage *storage, int face, int level) +gl::Error Image9::setManagedSurfaceCube(TextureStorage *storage, int face, int level) { TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); - setManagedSurface(storage9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level, false)); + return setManagedSurface(storage9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level, false)); } -void Image9::setManagedSurface(IDirect3DSurface9 *surface) +gl::Error Image9::setManagedSurface(IDirect3DSurface9 *surface) { D3DSURFACE_DESC desc; surface->GetDesc(&desc); @@ -292,97 +304,101 @@ void Image9::setManagedSurface(IDirect3DSurface9 *surface) { if (mSurface) { - copyLockableSurfaces(surface, mSurface); + gl::Error error = copyLockableSurfaces(surface, mSurface); SafeRelease(mSurface); + if (error.isError()) + { + return error; + } } mSurface = surface; mD3DPool = desc.Pool; } -} -bool Image9::copyToStorage2D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) -{ - ASSERT(getSurface() != NULL); - TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); - return copyToSurface(storage9->getSurfaceLevel(level, true), xoffset, yoffset, width, height); + return gl::Error(GL_NO_ERROR); } -bool Image9::copyToStorageCube(TextureStorage *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) +gl::Error Image9::copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box ®ion) { ASSERT(getSurface() != NULL); - TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); - return copyToSurface(storage9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level, true), xoffset, yoffset, width, height); -} -bool Image9::copyToStorage3D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) -{ - // 3D textures are not supported by the D3D9 backend. - UNREACHABLE(); - return false; -} + IDirect3DSurface9 *destSurface = NULL; -bool Image9::copyToStorage2DArray(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height) -{ - // 2D array textures are not supported by the D3D9 backend. - UNREACHABLE(); - return false; + if (index.type == GL_TEXTURE_2D) + { + TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); + destSurface = storage9->getSurfaceLevel(index.mipIndex, true); + } + else + { + ASSERT(gl::IsCubemapTextureTarget(index.type)); + TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); + destSurface = storage9->getCubeMapSurface(index.type, index.mipIndex, true); + } + + gl::Error error = copyToSurface(destSurface, region.x, region.y, region.width, region.height); + SafeRelease(destSurface); + return error; } -bool Image9::copyToSurface(IDirect3DSurface9 *destSurface, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) +gl::Error Image9::copyToSurface(IDirect3DSurface9 *destSurface, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) { ASSERT(width > 0 && height > 0); - - if (!destSurface) - return false; + ASSERT(destSurface); IDirect3DSurface9 *sourceSurface = getSurface(); + ASSERT(sourceSurface && sourceSurface != destSurface); - if (sourceSurface && sourceSurface != destSurface) - { - RECT rect; - rect.left = xoffset; - rect.top = yoffset; - rect.right = xoffset + width; - rect.bottom = yoffset + height; + RECT rect; + rect.left = xoffset; + rect.top = yoffset; + rect.right = xoffset + width; + rect.bottom = yoffset + height; - POINT point = {rect.left, rect.top}; + POINT point = {rect.left, rect.top}; - IDirect3DDevice9 *device = mRenderer->getDevice(); + IDirect3DDevice9 *device = mRenderer->getDevice(); - if (mD3DPool == D3DPOOL_MANAGED) - { - D3DSURFACE_DESC desc; - sourceSurface->GetDesc(&desc); + if (mD3DPool == D3DPOOL_MANAGED) + { + D3DSURFACE_DESC desc; + sourceSurface->GetDesc(&desc); - IDirect3DSurface9 *surf = 0; - HRESULT result = device->CreateOffscreenPlainSurface(desc.Width, desc.Height, desc.Format, D3DPOOL_SYSTEMMEM, &surf, NULL); + IDirect3DSurface9 *surf = 0; + HRESULT result = device->CreateOffscreenPlainSurface(desc.Width, desc.Height, desc.Format, D3DPOOL_SYSTEMMEM, &surf, NULL); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Internal CreateOffscreenPlainSurface call failed, result: 0x%X.", result); + } - if (SUCCEEDED(result)) - { - copyLockableSurfaces(surf, sourceSurface); - result = device->UpdateSurface(surf, &rect, destSurface, &point); - ASSERT(SUCCEEDED(result)); - SafeRelease(surf); - } + copyLockableSurfaces(surf, sourceSurface); + result = device->UpdateSurface(surf, &rect, destSurface, &point); + SafeRelease(surf); + ASSERT(SUCCEEDED(result)); + if (FAILED(result)) + { + return gl::Error(GL_OUT_OF_MEMORY, "Internal UpdateSurface call failed, result: 0x%X.", result); } - else + } + else + { + // UpdateSurface: source must be SYSTEMMEM, dest must be DEFAULT pools + HRESULT result = device->UpdateSurface(sourceSurface, &rect, destSurface, &point); + ASSERT(SUCCEEDED(result)); + if (FAILED(result)) { - // UpdateSurface: source must be SYSTEMMEM, dest must be DEFAULT pools - HRESULT result = device->UpdateSurface(sourceSurface, &rect, destSurface, &point); - UNUSED_ASSERTION_VARIABLE(result); - ASSERT(SUCCEEDED(result)); + return gl::Error(GL_OUT_OF_MEMORY, "Internal UpdateSurface call failed, result: 0x%X.", result); } } - SafeRelease(destSurface); - return true; + return gl::Error(GL_NO_ERROR); } // Store the pixel rectangle designated by xoffset,yoffset,width,height with pixels stored as format/type at input // into the target pixel rectangle. -void Image9::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLint unpackAlignment, GLenum type, const void *input) +gl::Error Image9::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLint unpackAlignment, GLenum type, const void *input) { // 3D textures are not supported by the D3D9 backend. ASSERT(zoffset == 0 && depth == 1); @@ -403,7 +419,7 @@ void Image9::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width HRESULT result = lock(&locked, &lockRect); if (FAILED(result)) { - return; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock internal texture for loading data, result: 0x%X.", result); } d3dFormatInfo.loadFunction(width, height, depth, @@ -411,10 +427,12 @@ void Image9::loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width reinterpret_cast<uint8_t*>(locked.pBits), locked.Pitch, 0); unlock(); + + return gl::Error(GL_NO_ERROR); } -void Image9::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - const void *input) +gl::Error Image9::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + const void *input) { // 3D textures are not supported by the D3D9 backend. ASSERT(zoffset == 0 && depth == 1); @@ -440,7 +458,7 @@ void Image9::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLs HRESULT result = lock(&locked, &lockRect); if (FAILED(result)) { - return; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock internal texture for loading data, result: 0x%X.", result); } d3d9FormatInfo.loadFunction(width, height, depth, @@ -448,33 +466,22 @@ void Image9::loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLs reinterpret_cast<uint8_t*>(locked.pBits), locked.Pitch, 0); unlock(); + + return gl::Error(GL_NO_ERROR); } // This implements glCopyTex[Sub]Image2D for non-renderable internal texture formats and incomplete textures -void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source) +gl::Error Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, RenderTarget *source) { + ASSERT(source); + // ES3.0 only behaviour to copy into a 3d texture ASSERT(zoffset == 0); - RenderTarget9 *renderTarget = NULL; - IDirect3DSurface9 *surface = NULL; - gl::FramebufferAttachment *colorbuffer = source->getColorbuffer(0); + RenderTarget9 *renderTarget = RenderTarget9::makeRenderTarget9(source); - if (colorbuffer) - { - renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); - } - - if (renderTarget) - { - surface = renderTarget->getSurface(); - } - - if (!surface) - { - ERR("Failed to retrieve the render target."); - return gl::error(GL_OUT_OF_MEMORY); - } + IDirect3DSurface9 *surface = renderTarget->getSurface(); + ASSERT(surface); IDirect3DDevice9 *device = mRenderer->getDevice(); @@ -486,33 +493,33 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, if (FAILED(result)) { - ERR("Could not create matching destination surface."); SafeRelease(surface); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Could not create matching destination surface, result: 0x%X.", result); } result = device->GetRenderTargetData(surface, renderTargetData); if (FAILED(result)) { - ERR("GetRenderTargetData unexpectedly failed."); SafeRelease(renderTargetData); SafeRelease(surface); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "GetRenderTargetData unexpectedly failed, result: 0x%X.", result); } - RECT sourceRect = {x, y, x + width, y + height}; - RECT destRect = {xoffset, yoffset, xoffset + width, yoffset + height}; + int width = sourceArea.width; + int height = sourceArea.height; + + RECT sourceRect = { sourceArea.x, sourceArea.y, sourceArea.x + width, sourceArea.y + height }; + RECT destRect = { xoffset, yoffset, xoffset + width, yoffset + height }; D3DLOCKED_RECT sourceLock = {0}; result = renderTargetData->LockRect(&sourceLock, &sourceRect, 0); if (FAILED(result)) { - ERR("Failed to lock the source surface (rectangle might be invalid)."); SafeRelease(renderTargetData); SafeRelease(surface); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock the source surface (rectangle might be invalid), result: 0x%X.", result); } D3DLOCKED_RECT destLock = {0}; @@ -520,178 +527,167 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, if (FAILED(result)) { - ERR("Failed to lock the destination surface (rectangle might be invalid)."); renderTargetData->UnlockRect(); SafeRelease(renderTargetData); SafeRelease(surface); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to lock the destination surface (rectangle might be invalid), result: 0x%X.", result); } - if (destLock.pBits && sourceLock.pBits) - { - unsigned char *source = (unsigned char*)sourceLock.pBits; - unsigned char *dest = (unsigned char*)destLock.pBits; + ASSERT(destLock.pBits && sourceLock.pBits); + + unsigned char *sourcePixels = (unsigned char*)sourceLock.pBits; + unsigned char *destPixels = (unsigned char*)destLock.pBits; - switch (description.Format) + switch (description.Format) + { + case D3DFMT_X8R8G8B8: + case D3DFMT_A8R8G8B8: + switch (getD3DFormat()) { case D3DFMT_X8R8G8B8: case D3DFMT_A8R8G8B8: - switch(getD3DFormat()) + for (int y = 0; y < height; y++) { - case D3DFMT_X8R8G8B8: - case D3DFMT_A8R8G8B8: - for(int y = 0; y < height; y++) - { - memcpy(dest, source, 4 * width); - - source += sourceLock.Pitch; - dest += destLock.Pitch; - } - break; - case D3DFMT_L8: - for(int y = 0; y < height; y++) + memcpy(destPixels, sourcePixels, 4 * width); + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; + } + break; + case D3DFMT_L8: + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - dest[x] = source[x * 4 + 2]; - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + destPixels[x] = sourcePixels[x * 4 + 2]; } - break; - case D3DFMT_A8L8: - for(int y = 0; y < height; y++) + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; + } + break; + case D3DFMT_A8L8: + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - dest[x * 2 + 0] = source[x * 4 + 2]; - dest[x * 2 + 1] = source[x * 4 + 3]; - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + destPixels[x * 2 + 0] = sourcePixels[x * 4 + 2]; + destPixels[x * 2 + 1] = sourcePixels[x * 4 + 3]; } - break; - default: - UNREACHABLE(); + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; } break; - case D3DFMT_R5G6B5: - switch(getD3DFormat()) + default: + UNREACHABLE(); + } + break; + case D3DFMT_R5G6B5: + switch (getD3DFormat()) + { + case D3DFMT_X8R8G8B8: + for (int y = 0; y < height; y++) { - case D3DFMT_X8R8G8B8: - for(int y = 0; y < height; y++) + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - unsigned short rgb = ((unsigned short*)source)[x]; - unsigned char red = (rgb & 0xF800) >> 8; - unsigned char green = (rgb & 0x07E0) >> 3; - unsigned char blue = (rgb & 0x001F) << 3; - dest[x + 0] = blue | (blue >> 5); - dest[x + 1] = green | (green >> 6); - dest[x + 2] = red | (red >> 5); - dest[x + 3] = 0xFF; - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + unsigned short rgb = ((unsigned short*)sourcePixels)[x]; + unsigned char red = (rgb & 0xF800) >> 8; + unsigned char green = (rgb & 0x07E0) >> 3; + unsigned char blue = (rgb & 0x001F) << 3; + destPixels[x + 0] = blue | (blue >> 5); + destPixels[x + 1] = green | (green >> 6); + destPixels[x + 2] = red | (red >> 5); + destPixels[x + 3] = 0xFF; } - break; - case D3DFMT_L8: - for(int y = 0; y < height; y++) + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; + } + break; + case D3DFMT_L8: + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - unsigned char red = source[x * 2 + 1] & 0xF8; - dest[x] = red | (red >> 5); - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + unsigned char red = sourcePixels[x * 2 + 1] & 0xF8; + destPixels[x] = red | (red >> 5); } - break; - default: - UNREACHABLE(); + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; } break; - case D3DFMT_A1R5G5B5: - switch(getD3DFormat()) + default: + UNREACHABLE(); + } + break; + case D3DFMT_A1R5G5B5: + switch (getD3DFormat()) + { + case D3DFMT_X8R8G8B8: + for (int y = 0; y < height; y++) { - case D3DFMT_X8R8G8B8: - for(int y = 0; y < height; y++) + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - unsigned short argb = ((unsigned short*)source)[x]; - unsigned char red = (argb & 0x7C00) >> 7; - unsigned char green = (argb & 0x03E0) >> 2; - unsigned char blue = (argb & 0x001F) << 3; - dest[x + 0] = blue | (blue >> 5); - dest[x + 1] = green | (green >> 5); - dest[x + 2] = red | (red >> 5); - dest[x + 3] = 0xFF; - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + unsigned short argb = ((unsigned short*)sourcePixels)[x]; + unsigned char red = (argb & 0x7C00) >> 7; + unsigned char green = (argb & 0x03E0) >> 2; + unsigned char blue = (argb & 0x001F) << 3; + destPixels[x + 0] = blue | (blue >> 5); + destPixels[x + 1] = green | (green >> 5); + destPixels[x + 2] = red | (red >> 5); + destPixels[x + 3] = 0xFF; } - break; - case D3DFMT_A8R8G8B8: - for(int y = 0; y < height; y++) + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; + } + break; + case D3DFMT_A8R8G8B8: + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - unsigned short argb = ((unsigned short*)source)[x]; - unsigned char red = (argb & 0x7C00) >> 7; - unsigned char green = (argb & 0x03E0) >> 2; - unsigned char blue = (argb & 0x001F) << 3; - unsigned char alpha = (signed short)argb >> 15; - dest[x + 0] = blue | (blue >> 5); - dest[x + 1] = green | (green >> 5); - dest[x + 2] = red | (red >> 5); - dest[x + 3] = alpha; - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + unsigned short argb = ((unsigned short*)sourcePixels)[x]; + unsigned char red = (argb & 0x7C00) >> 7; + unsigned char green = (argb & 0x03E0) >> 2; + unsigned char blue = (argb & 0x001F) << 3; + unsigned char alpha = (signed short)argb >> 15; + destPixels[x + 0] = blue | (blue >> 5); + destPixels[x + 1] = green | (green >> 5); + destPixels[x + 2] = red | (red >> 5); + destPixels[x + 3] = alpha; } - break; - case D3DFMT_L8: - for(int y = 0; y < height; y++) + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; + } + break; + case D3DFMT_L8: + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - unsigned char red = source[x * 2 + 1] & 0x7C; - dest[x] = (red << 1) | (red >> 4); - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + unsigned char red = sourcePixels[x * 2 + 1] & 0x7C; + destPixels[x] = (red << 1) | (red >> 4); } - break; - case D3DFMT_A8L8: - for(int y = 0; y < height; y++) + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; + } + break; + case D3DFMT_A8L8: + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) { - for(int x = 0; x < width; x++) - { - unsigned char red = source[x * 2 + 1] & 0x7C; - dest[x * 2 + 0] = (red << 1) | (red >> 4); - dest[x * 2 + 1] = (signed char)source[x * 2 + 1] >> 7; - } - - source += sourceLock.Pitch; - dest += destLock.Pitch; + unsigned char red = sourcePixels[x * 2 + 1] & 0x7C; + destPixels[x * 2 + 0] = (red << 1) | (red >> 4); + destPixels[x * 2 + 1] = (signed char)sourcePixels[x * 2 + 1] >> 7; } - break; - default: - UNREACHABLE(); + sourcePixels += sourceLock.Pitch; + destPixels += destLock.Pitch; } break; default: UNREACHABLE(); } + break; + default: + UNREACHABLE(); } unlock(); @@ -701,6 +697,14 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, SafeRelease(surface); mDirty = true; + return gl::Error(GL_NO_ERROR); +} + +gl::Error Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &area, const gl::ImageIndex &srcIndex, TextureStorage *srcStorage) +{ + // Currently unreachable, due to only being used in a D3D11-only workaround + UNIMPLEMENTED(); + return gl::Error(GL_INVALID_OPERATION); } } diff --git a/src/libGLESv2/renderer/d3d/d3d9/Image9.h b/src/libGLESv2/renderer/d3d/d3d9/Image9.h index 08d8ee35..c0a4384d 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Image9.h +++ b/src/libGLESv2/renderer/d3d/d3d9/Image9.h @@ -33,7 +33,7 @@ class Image9 : public ImageD3D static void generateMipmap(Image9 *dest, Image9 *source); static void generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9 *sourceSurface); - static void copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source); + static gl::Error copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source); virtual bool redefine(Renderer *renderer, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool forceRelease); @@ -42,30 +42,29 @@ class Image9 : public ImageD3D virtual bool isDirty() const; IDirect3DSurface9 *getSurface(); - virtual void setManagedSurface2D(TextureStorage *storage, int level); - virtual void setManagedSurfaceCube(TextureStorage *storage, int face, int level); - virtual bool copyToStorage2D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); - virtual bool copyToStorageCube(TextureStorage *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); - virtual bool copyToStorage3D(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); - virtual bool copyToStorage2DArray(TextureStorage *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height); + virtual gl::Error setManagedSurface2D(TextureStorage *storage, int level); + virtual gl::Error setManagedSurfaceCube(TextureStorage *storage, int face, int level); + virtual gl::Error copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box ®ion); - virtual void loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - GLint unpackAlignment, GLenum type, const void *input); - virtual void loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, - const void *input); + virtual gl::Error loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + GLint unpackAlignment, GLenum type, const void *input); + virtual gl::Error loadCompressedData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, + const void *input); - virtual void copy(GLint xoffset, GLint yoffset, GLint zoffset,GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source); + virtual gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, RenderTarget *source); + virtual gl::Error copy(GLint xoffset, GLint yoffset, GLint zoffset, const gl::Rectangle &sourceArea, + const gl::ImageIndex &sourceIndex, TextureStorage *source); private: DISALLOW_COPY_AND_ASSIGN(Image9); void createSurface(); - void setManagedSurface(IDirect3DSurface9 *surface); - bool copyToSurface(IDirect3DSurface9 *dest, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); + gl::Error setManagedSurface(IDirect3DSurface9 *surface); + gl::Error copyToSurface(IDirect3DSurface9 *dest, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height); HRESULT lock(D3DLOCKED_RECT *lockedRect, const RECT *rect); void unlock(); - + Renderer9 *mRenderer; D3DPOOL mD3DPool; // can only be D3DPOOL_SYSTEMMEM or D3DPOOL_MANAGED since it needs to be lockable. diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp index dd750483..62d64de9 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp @@ -33,6 +33,7 @@ #include "libGLESv2/FramebufferAttachment.h" #include "libGLESv2/Renderbuffer.h" #include "libGLESv2/ProgramBinary.h" +#include "libGLESv2/State.h" #include "libGLESv2/angletypes.h" #include "libEGL/Display.h" @@ -394,8 +395,11 @@ void Renderer9::initializeDevice() mSceneStarted = false; - ASSERT(!mBlit && !mVertexDataManager && !mIndexDataManager); + ASSERT(!mBlit); mBlit = new Blit9(this); + mBlit->initialize(); + + ASSERT(!mVertexDataManager && !mIndexDataManager); mVertexDataManager = new rx::VertexDataManager(this); mIndexDataManager = new rx::IndexDataManager(this); } @@ -489,68 +493,92 @@ void Renderer9::endScene() } } -void Renderer9::sync(bool block) +gl::Error Renderer9::sync(bool block) { - HRESULT result; + IDirect3DQuery9* query = NULL; + gl::Error error = allocateEventQuery(&query); + if (error.isError()) + { + return error; + } - IDirect3DQuery9* query = allocateEventQuery(); - if (!query) + HRESULT result = query->Issue(D3DISSUE_END); + if (FAILED(result)) { - return; + ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to issue event query, result: 0x%X.", result); } - result = query->Issue(D3DISSUE_END); - ASSERT(SUCCEEDED(result)); + // Grab the query data once in blocking and non-blocking case + result = query->GetData(NULL, 0, D3DGETDATA_FLUSH); + if (FAILED(result)) + { + if (d3d9::isDeviceLostError(result)) + { + notifyDeviceLost(); + } + + freeEventQuery(query); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to get event query data, result: 0x%X.", result); + } - do + // If blocking, loop until the query completes + while (block && result == S_FALSE) { + // Keep polling, but allow other threads to do something useful first + Sleep(0); + result = query->GetData(NULL, 0, D3DGETDATA_FLUSH); - if(block && result == S_FALSE) + // explicitly check for device loss + // some drivers seem to return S_FALSE even if the device is lost + // instead of D3DERR_DEVICELOST like they should + if (result == S_FALSE && testDeviceLost(false)) + { + result = D3DERR_DEVICELOST; + } + + if (FAILED(result)) { - // Keep polling, but allow other threads to do something useful first - Sleep(0); - // explicitly check for device loss - // some drivers seem to return S_FALSE even if the device is lost - // instead of D3DERR_DEVICELOST like they should - if (testDeviceLost(false)) + if (d3d9::isDeviceLostError(result)) { - result = D3DERR_DEVICELOST; + notifyDeviceLost(); } + + freeEventQuery(query); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to get event query data, result: 0x%X.", result); } + } - while(block && result == S_FALSE); freeEventQuery(query); - if (d3d9::isDeviceLostError(result)) - { - notifyDeviceLost(); - } + return gl::Error(GL_NO_ERROR); } -SwapChain *Renderer9::createSwapChain(HWND window, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) +SwapChain *Renderer9::createSwapChain(rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) { - return new rx::SwapChain9(this, window, shareHandle, backBufferFormat, depthBufferFormat); + return new rx::SwapChain9(this, nativeWindow, shareHandle, backBufferFormat, depthBufferFormat); } -IDirect3DQuery9* Renderer9::allocateEventQuery() +gl::Error Renderer9::allocateEventQuery(IDirect3DQuery9 **outQuery) { - IDirect3DQuery9 *query = NULL; - if (mEventQueryPool.empty()) { - HRESULT result = mDevice->CreateQuery(D3DQUERYTYPE_EVENT, &query); - UNUSED_ASSERTION_VARIABLE(result); - ASSERT(SUCCEEDED(result)); + HRESULT result = mDevice->CreateQuery(D3DQUERYTYPE_EVENT, outQuery); + if (FAILED(result)) + { + ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to allocate event query, result: 0x%X.", result); + } } else { - query = mEventQueryPool.back(); + *outQuery = mEventQueryPool.back(); mEventQueryPool.pop_back(); } - return query; + return gl::Error(GL_NO_ERROR); } void Renderer9::freeEventQuery(IDirect3DQuery9* query) @@ -565,14 +593,14 @@ void Renderer9::freeEventQuery(IDirect3DQuery9* query) } } -IDirect3DVertexShader9 *Renderer9::createVertexShader(const DWORD *function, size_t length) +gl::Error Renderer9::createVertexShader(const DWORD *function, size_t length, IDirect3DVertexShader9 **outShader) { - return mVertexShaderCache.create(function, length); + return mVertexShaderCache.create(function, length, outShader); } -IDirect3DPixelShader9 *Renderer9::createPixelShader(const DWORD *function, size_t length) +gl::Error Renderer9::createPixelShader(const DWORD *function, size_t length, IDirect3DPixelShader9 **outShader) { - return mPixelShaderCache.create(function, length); + return mPixelShaderCache.create(function, length, outShader); } HRESULT Renderer9::createVertexBuffer(UINT Length, DWORD Usage, IDirect3DVertexBuffer9 **ppVertexBuffer) @@ -612,9 +640,16 @@ QueryImpl *Renderer9::createQuery(GLenum type) return new Query9(this, type); } -FenceImpl *Renderer9::createFence() +FenceNVImpl *Renderer9::createFenceNV() +{ + return new FenceNV9(this); +} + +FenceSyncImpl *Renderer9::createFenceSync() { - return new Fence9(this); + // Renderer9 doesn't support ES 3.0 and its sync objects. + UNREACHABLE(); + return NULL; } TransformFeedbackImpl* Renderer9::createTransformFeedback() @@ -628,21 +663,22 @@ bool Renderer9::supportsFastCopyBufferToTexture(GLenum internalFormat) const return false; } -bool Renderer9::fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) +gl::Error Renderer9::fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea) { // Pixel buffer objects are not supported in D3D9, since D3D9 is ES2-only and PBOs are ES3. UNREACHABLE(); - return false; + return gl::Error(GL_INVALID_OPERATION); } -void Renderer9::generateSwizzle(gl::Texture *texture) +gl::Error Renderer9::generateSwizzle(gl::Texture *texture) { // Swizzled textures are not available in ES2 or D3D9 UNREACHABLE(); + return gl::Error(GL_INVALID_OPERATION); } -void Renderer9::setSamplerState(gl::SamplerType type, int index, const gl::SamplerState &samplerState) +gl::Error Renderer9::setSamplerState(gl::SamplerType type, int index, gl::Texture *texture, const gl::SamplerState &samplerState) { std::vector<bool> &forceSetSamplers = (type == gl::SAMPLER_PIXEL) ? mForceSetPixelSamplerStates : mForceSetVertexSamplerStates; std::vector<gl::SamplerState> &appliedSamplers = (type == gl::SAMPLER_PIXEL) ? mCurPixelSamplerStates: mCurVertexSamplerStates; @@ -652,6 +688,10 @@ void Renderer9::setSamplerState(gl::SamplerType type, int index, const gl::Sampl int d3dSamplerOffset = (type == gl::SAMPLER_PIXEL) ? 0 : D3DVERTEXTEXTURESAMPLER0; int d3dSampler = index + d3dSamplerOffset; + // Make sure to add the level offset for our tiny compressed texture workaround + TextureD3D *textureD3D = TextureD3D::makeTextureD3D(texture->getImplementation()); + DWORD baseLevel = samplerState.baseLevel + textureD3D->getNativeTexture()->getTopLevel(); + mDevice->SetSamplerState(d3dSampler, D3DSAMP_ADDRESSU, gl_d3d9::ConvertTextureWrap(samplerState.wrapS)); mDevice->SetSamplerState(d3dSampler, D3DSAMP_ADDRESSV, gl_d3d9::ConvertTextureWrap(samplerState.wrapT)); @@ -660,7 +700,7 @@ void Renderer9::setSamplerState(gl::SamplerType type, int index, const gl::Sampl gl_d3d9::ConvertMinFilter(samplerState.minFilter, &d3dMinFilter, &d3dMipFilter, samplerState.maxAnisotropy); mDevice->SetSamplerState(d3dSampler, D3DSAMP_MINFILTER, d3dMinFilter); mDevice->SetSamplerState(d3dSampler, D3DSAMP_MIPFILTER, d3dMipFilter); - mDevice->SetSamplerState(d3dSampler, D3DSAMP_MAXMIPLEVEL, samplerState.baseLevel); + mDevice->SetSamplerState(d3dSampler, D3DSAMP_MAXMIPLEVEL, baseLevel); if (getRendererExtensions().textureFilterAnisotropic) { mDevice->SetSamplerState(d3dSampler, D3DSAMP_MAXANISOTROPY, (DWORD)samplerState.maxAnisotropy); @@ -669,9 +709,11 @@ void Renderer9::setSamplerState(gl::SamplerType type, int index, const gl::Sampl forceSetSamplers[index] = false; appliedSamplers[index] = samplerState; + + return gl::Error(GL_NO_ERROR); } -void Renderer9::setTexture(gl::SamplerType type, int index, gl::Texture *texture) +gl::Error Renderer9::setTexture(gl::SamplerType type, int index, gl::Texture *texture) { int d3dSamplerOffset = (type == gl::SAMPLER_PIXEL) ? 0 : D3DVERTEXTEXTURESAMPLER0; int d3dSampler = index + d3dSamplerOffset; @@ -706,15 +748,17 @@ void Renderer9::setTexture(gl::SamplerType type, int index, gl::Texture *texture } appliedSerials[index] = serial; + + return gl::Error(GL_NO_ERROR); } -bool Renderer9::setUniformBuffers(const gl::Buffer* /*vertexUniformBuffers*/[], const gl::Buffer* /*fragmentUniformBuffers*/[]) +gl::Error Renderer9::setUniformBuffers(const gl::Buffer* /*vertexUniformBuffers*/[], const gl::Buffer* /*fragmentUniformBuffers*/[]) { // No effect in ES2/D3D9 - return true; + return gl::Error(GL_NO_ERROR); } -void Renderer9::setRasterizerState(const gl::RasterizerState &rasterState) +gl::Error Renderer9::setRasterizerState(const gl::RasterizerState &rasterState) { bool rasterStateChanged = mForceSetRasterState || memcmp(&rasterState, &mCurRasterState, sizeof(gl::RasterizerState)) != 0; @@ -750,10 +794,12 @@ void Renderer9::setRasterizerState(const gl::RasterizerState &rasterState) } mForceSetRasterState = false; + + return gl::Error(GL_NO_ERROR); } -void Renderer9::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, - unsigned int sampleMask) +gl::Error Renderer9::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, + unsigned int sampleMask) { bool blendStateChanged = mForceSetBlendState || memcmp(&blendState, &mCurBlendState, sizeof(gl::BlendState)) != 0; bool blendColorChanged = mForceSetBlendState || memcmp(&blendColor, &mCurBlendColor, sizeof(gl::ColorF)) != 0; @@ -854,10 +900,12 @@ void Renderer9::setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState } mForceSetBlendState = false; + + return gl::Error(GL_NO_ERROR); } -void Renderer9::setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, - int stencilBackRef, bool frontFaceCCW) +gl::Error Renderer9::setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, + int stencilBackRef, bool frontFaceCCW) { bool depthStencilStateChanged = mForceSetDepthStencilState || memcmp(&depthStencilState, &mCurDepthStencilState, sizeof(gl::DepthStencilState)) != 0; @@ -946,6 +994,8 @@ void Renderer9::setDepthStencilState(const gl::DepthStencilState &depthStencilSt } mForceSetDepthStencilState = false; + + return gl::Error(GL_NO_ERROR); } void Renderer9::setScissorRectangle(const gl::Rectangle &scissor, bool enabled) @@ -1139,7 +1189,7 @@ gl::FramebufferAttachment *Renderer9::getNullColorbuffer(gl::FramebufferAttachme return nullbuffer; } -bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) +gl::Error Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) { // if there is no color attachment we must synthesize a NULL colorattachment // to keep the D3D runtime happy. This should only be possible if depth texturing. @@ -1148,30 +1198,23 @@ bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) { attachment = getNullColorbuffer(framebuffer->getDepthbuffer()); } - if (!attachment) - { - ERR("unable to locate renderbuffer for FBO."); - return false; - } + ASSERT(attachment); bool renderTargetChanged = false; unsigned int renderTargetSerial = GetAttachmentSerial(attachment); if (renderTargetSerial != mAppliedRenderTargetSerial) { // Apply the render target on the device - IDirect3DSurface9 *renderTargetSurface = NULL; - - RenderTarget9 *renderTarget = d3d9::GetAttachmentRenderTarget(attachment); - if (renderTarget) + RenderTarget9 *renderTarget = NULL; + gl::Error error = d3d9::GetAttachmentRenderTarget(attachment, &renderTarget); + if (error.isError()) { - renderTargetSurface = renderTarget->getSurface(); + return error; } + ASSERT(renderTarget); - if (!renderTargetSurface) - { - ERR("render target pointer unexpectedly null."); - return false; // Context must be lost - } + IDirect3DSurface9 *renderTargetSurface = renderTarget->getSurface(); + ASSERT(renderTargetSurface); mDevice->SetRenderTarget(0, renderTargetSurface); SafeRelease(renderTargetSurface); @@ -1203,19 +1246,16 @@ bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) // Apply the depth stencil on the device if (depthStencil) { - IDirect3DSurface9 *depthStencilSurface = NULL; - rx::RenderTarget9 *depthStencilRenderTarget = d3d9::GetAttachmentRenderTarget(depthStencil); - - if (depthStencilRenderTarget) + RenderTarget9 *depthStencilRenderTarget = NULL; + gl::Error error = d3d9::GetAttachmentRenderTarget(depthStencil, &depthStencilRenderTarget); + if (error.isError()) { - depthStencilSurface = depthStencilRenderTarget->getSurface(); + return error; } + ASSERT(depthStencilRenderTarget); - if (!depthStencilSurface) - { - ERR("depth stencil pointer unexpectedly null."); - return false; // Context must be lost - } + IDirect3DSurface9 *depthStencilSurface = depthStencilRenderTarget->getSurface(); + ASSERT(depthStencilSurface); mDevice->SetDepthStencilSurface(depthStencilSurface); SafeRelease(depthStencilSurface); @@ -1257,20 +1297,19 @@ bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) mRenderTargetDescInitialized = true; } - return true; + return gl::Error(GL_NO_ERROR); } -gl::Error Renderer9::applyVertexBuffer(gl::ProgramBinary *programBinary, const gl::VertexAttribute vertexAttributes[], const gl::VertexAttribCurrentValueData currentValues[], - GLint first, GLsizei count, GLsizei instances) +gl::Error Renderer9::applyVertexBuffer(const gl::State &state, GLint first, GLsizei count, GLsizei instances) { TranslatedAttribute attributes[gl::MAX_VERTEX_ATTRIBS]; - gl::Error error = mVertexDataManager->prepareVertexData(vertexAttributes, currentValues, programBinary, first, count, attributes, instances); + gl::Error error = mVertexDataManager->prepareVertexData(state, first, count, attributes, instances); if (error.isError()) { return error; } - return mVertexDeclarationCache.applyDeclaration(mDevice, attributes, programBinary, instances, &mRepeatDraw); + return mVertexDeclarationCache.applyDeclaration(mDevice, attributes, state.getCurrentProgramBinary(), instances, &mRepeatDraw); } // Applies the indices and element array bindings to the Direct3D 9 device @@ -1296,12 +1335,12 @@ gl::Error Renderer9::applyIndexBuffer(const GLvoid *indices, gl::Buffer *element return gl::Error(GL_NO_ERROR); } -void Renderer9::applyTransformFeedbackBuffers(gl::Buffer *transformFeedbackBuffers[], GLintptr offsets[]) +void Renderer9::applyTransformFeedbackBuffers(const gl::State& state) { UNREACHABLE(); } -void Renderer9::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive) +gl::Error Renderer9::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive) { ASSERT(!transformFeedbackActive); @@ -1309,14 +1348,15 @@ void Renderer9::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool t if (mode == GL_LINE_LOOP) { - drawLineLoop(count, GL_NONE, NULL, 0, NULL); + return drawLineLoop(count, GL_NONE, NULL, 0, NULL); } else if (instances > 0) { - StaticIndexBufferInterface *countingIB = getCountingIB(count); - if (!countingIB) + StaticIndexBufferInterface *countingIB = NULL; + gl::Error error = getCountingIB(count, &countingIB); + if (error.isError()) { - return; + return error; } if (mAppliedIBSerial != countingIB->getSerial()) @@ -1331,15 +1371,18 @@ void Renderer9::drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool t { mDevice->DrawIndexedPrimitive(mPrimitiveType, 0, 0, count, 0, mPrimitiveCount); } + + return gl::Error(GL_NO_ERROR); } else // Regular case { mDevice->DrawPrimitive(mPrimitiveType, 0, mPrimitiveCount); + return gl::Error(GL_NO_ERROR); } } -void Renderer9::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, - gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei /*instances*/) +gl::Error Renderer9::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, + gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei /*instances*/) { startScene(); @@ -1347,11 +1390,11 @@ void Renderer9::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvo if (mode == GL_POINTS) { - drawIndexedPoints(count, type, indices, minIndex, elementArrayBuffer); + return drawIndexedPoints(count, type, indices, minIndex, elementArrayBuffer); } else if (mode == GL_LINE_LOOP) { - drawLineLoop(count, type, indices, minIndex, elementArrayBuffer); + return drawLineLoop(count, type, indices, minIndex, elementArrayBuffer); } else { @@ -1360,10 +1403,11 @@ void Renderer9::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvo GLsizei vertexCount = static_cast<int>(indexInfo.indexRange.length()) + 1; mDevice->DrawIndexedPrimitive(mPrimitiveType, -minIndex, minIndex, vertexCount, indexInfo.startIndex, mPrimitiveCount); } + return gl::Error(GL_NO_ERROR); } } -void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer) +gl::Error Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer) { // Get the raw indices for an indexed draw if (type != GL_NONE && elementArrayBuffer) @@ -1385,9 +1429,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, if (error.isError()) { SafeDelete(mLineLoopIB); - - ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } } @@ -1396,16 +1438,14 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, if (static_cast<unsigned int>(count) + 1 > (std::numeric_limits<unsigned int>::max() / sizeof(unsigned int))) { - ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP, too many indices required."); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create a 32-bit looping index buffer for GL_LINE_LOOP, too many indices required."); } const unsigned int spaceNeeded = (static_cast<unsigned int>(count)+1) * sizeof(unsigned int); gl::Error error = mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT); if (error.isError()) { - ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } void* mappedMemory = NULL; @@ -1413,8 +1453,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, error = mLineLoopIB->mapBuffer(spaceNeeded, &mappedMemory, &offset); if (error.isError()) { - ERR("Could not map index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } startIndex = static_cast<unsigned int>(offset) / 4; @@ -1456,8 +1495,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, error = mLineLoopIB->unmapBuffer(); if (error.isError()) { - ERR("Could not unmap index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } } else @@ -1469,9 +1507,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, if (error.isError()) { SafeDelete(mLineLoopIB); - - ERR("Could not create a 16-bit looping index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } } @@ -1480,16 +1516,14 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, if (static_cast<unsigned int>(count) + 1 > (std::numeric_limits<unsigned short>::max() / sizeof(unsigned short))) { - ERR("Could not create a 16-bit looping index buffer for GL_LINE_LOOP, too many indices required."); - return gl::error(GL_OUT_OF_MEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create a 16-bit looping index buffer for GL_LINE_LOOP, too many indices required."); } const unsigned int spaceNeeded = (static_cast<unsigned int>(count) + 1) * sizeof(unsigned short); gl::Error error = mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_SHORT); if (error.isError()) { - ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } void* mappedMemory = NULL; @@ -1497,8 +1531,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, error = mLineLoopIB->mapBuffer(spaceNeeded, &mappedMemory, &offset); if (error.isError()) { - ERR("Could not map index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } startIndex = static_cast<unsigned int>(offset) / 2; @@ -1540,8 +1573,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, error = mLineLoopIB->unmapBuffer(); if (error.isError()) { - ERR("Could not unmap index buffer for GL_LINE_LOOP."); - return gl::error(GL_OUT_OF_MEMORY); + return error; } } @@ -1554,19 +1586,23 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, } mDevice->DrawIndexedPrimitive(D3DPT_LINESTRIP, -minIndex, minIndex, count, startIndex, count); + + return gl::Error(GL_NO_ERROR); } template <typename T> -static void drawPoints(IDirect3DDevice9* device, GLsizei count, const GLvoid *indices, int minIndex) +static gl::Error drawPoints(IDirect3DDevice9* device, GLsizei count, const GLvoid *indices, int minIndex) { for (int i = 0; i < count; i++) { unsigned int indexValue = static_cast<unsigned int>(static_cast<const T*>(indices)[i]) - minIndex; device->DrawPrimitive(D3DPT_POINTLIST, indexValue, 1); } + + return gl::Error(GL_NO_ERROR); } -void Renderer9::drawIndexedPoints(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer) +gl::Error Renderer9::drawIndexedPoints(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer) { // Drawing index point lists is unsupported in d3d9, fall back to a regular DrawPrimitive call // for each individual point. This call is not expected to happen often. @@ -1580,14 +1616,14 @@ void Renderer9::drawIndexedPoints(GLsizei count, GLenum type, const GLvoid *indi switch (type) { - case GL_UNSIGNED_BYTE: drawPoints<GLubyte>(mDevice, count, indices, minIndex); break; - case GL_UNSIGNED_SHORT: drawPoints<GLushort>(mDevice, count, indices, minIndex); break; - case GL_UNSIGNED_INT: drawPoints<GLuint>(mDevice, count, indices, minIndex); break; - default: UNREACHABLE(); + case GL_UNSIGNED_BYTE: return drawPoints<GLubyte>(mDevice, count, indices, minIndex); + case GL_UNSIGNED_SHORT: return drawPoints<GLushort>(mDevice, count, indices, minIndex); + case GL_UNSIGNED_INT: return drawPoints<GLuint>(mDevice, count, indices, minIndex); + default: UNREACHABLE(); return gl::Error(GL_INVALID_OPERATION); } } -StaticIndexBufferInterface *Renderer9::getCountingIB(size_t count) +gl::Error Renderer9::getCountingIB(size_t count, StaticIndexBufferInterface **outIB) { // Update the counting index buffer if it is not large enough or has not been created yet. if (count <= 65536) // 16-bit indices @@ -1604,8 +1640,7 @@ StaticIndexBufferInterface *Renderer9::getCountingIB(size_t count) gl::Error error = mCountingIB->mapBuffer(spaceNeeded, &mappedMemory, NULL); if (error.isError()) { - ERR("Failed to map counting buffer."); - return NULL; + return error; } unsigned short *data = reinterpret_cast<unsigned short*>(mappedMemory); @@ -1617,12 +1652,9 @@ StaticIndexBufferInterface *Renderer9::getCountingIB(size_t count) error = mCountingIB->unmapBuffer(); if (error.isError()) { - ERR("Failed to unmap counting buffer."); - return NULL; + return error; } } - - return mCountingIB; } else if (getRendererExtensions().elementIndexUint) { @@ -1638,8 +1670,7 @@ StaticIndexBufferInterface *Renderer9::getCountingIB(size_t count) gl::Error error = mCountingIB->mapBuffer(spaceNeeded, &mappedMemory, NULL); if (error.isError()) { - ERR("Failed to map counting buffer."); - return NULL; + return error; } unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory); @@ -1651,28 +1682,40 @@ StaticIndexBufferInterface *Renderer9::getCountingIB(size_t count) error = mCountingIB->unmapBuffer(); if (error.isError()) { - ERR("Failed to unmap counting buffer."); - return NULL; + return error; } } - - return mCountingIB; } else { - ERR("Could not create a counting index buffer for glDrawArraysInstanced."); - return gl::error<StaticIndexBufferInterface*>(GL_OUT_OF_MEMORY, NULL); + return gl::Error(GL_OUT_OF_MEMORY, "Could not create a counting index buffer for glDrawArraysInstanced."); } + + *outIB = mCountingIB; + return gl::Error(GL_NO_ERROR); } -void Renderer9::applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, - bool rasterizerDiscard, bool transformFeedbackActive) +gl::Error Renderer9::applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, + bool rasterizerDiscard, bool transformFeedbackActive) { ASSERT(!transformFeedbackActive); ASSERT(!rasterizerDiscard); - ShaderExecutable *vertexExe = programBinary->getVertexExecutableForInputLayout(inputLayout); - ShaderExecutable *pixelExe = programBinary->getPixelExecutableForFramebuffer(framebuffer); + ProgramD3D *programD3D = ProgramD3D::makeProgramD3D(programBinary->getImplementation()); + + ShaderExecutable *vertexExe = NULL; + gl::Error error = programD3D->getVertexExecutableForInputLayout(inputLayout, &vertexExe); + if (error.isError()) + { + return error; + } + + ShaderExecutable *pixelExe = NULL; + error = programD3D->getPixelExecutableForFramebuffer(framebuffer, &pixelExe); + if (error.isError()) + { + return error; + } IDirect3DVertexShader9 *vertexShader = (vertexExe ? ShaderExecutable9::makeShaderExecutable9(vertexExe)->getVertexShader() : NULL); IDirect3DPixelShader9 *pixelShader = (pixelExe ? ShaderExecutable9::makeShaderExecutable9(pixelExe)->getPixelShader() : NULL); @@ -1701,12 +1744,12 @@ void Renderer9::applyShaders(gl::ProgramBinary *programBinary, const gl::VertexF mDxUniformsDirty = true; mAppliedProgramSerial = programSerial; } + + return gl::Error(GL_NO_ERROR); } -void Renderer9::applyUniforms(const gl::ProgramBinary &programBinary) +gl::Error Renderer9::applyUniforms(const ProgramImpl &program, const std::vector<gl::LinkedUniform*> &uniformArray) { - const std::vector<gl::LinkedUniform*> &uniformArray = programBinary.getUniforms(); - for (size_t uniformIndex = 0; uniformIndex < uniformArray.size(); uniformIndex++) { gl::LinkedUniform *targetUniform = uniformArray[uniformIndex]; @@ -1755,6 +1798,8 @@ void Renderer9::applyUniforms(const gl::ProgramBinary &programBinary) mDevice->SetPixelShaderConstantF(0, (float*)&mPixelConstants, sizeof(dx_PixelConstants) / sizeof(float[4])); mDxUniformsDirty = false; } + + return gl::Error(GL_NO_ERROR); } void Renderer9::applyUniformnfv(gl::LinkedUniform *targetUniform, const GLfloat *v) @@ -2335,82 +2380,6 @@ int Renderer9::getMaxSwapInterval() const return mMaxSwapInterval; } -bool Renderer9::copyToRenderTarget2D(TextureStorage *dest, TextureStorage *source) -{ - bool result = false; - - if (source && dest) - { - TextureStorage9_2D *source9 = TextureStorage9_2D::makeTextureStorage9_2D(source); - TextureStorage9_2D *dest9 = TextureStorage9_2D::makeTextureStorage9_2D(dest); - - int levels = source9->getLevelCount(); - for (int i = 0; i < levels; ++i) - { - IDirect3DSurface9 *srcSurf = source9->getSurfaceLevel(i, false); - IDirect3DSurface9 *dstSurf = dest9->getSurfaceLevel(i, false); - - result = copyToRenderTarget(dstSurf, srcSurf, source9->isManaged()); - - SafeRelease(srcSurf); - SafeRelease(dstSurf); - - if (!result) - { - return false; - } - } - } - - return result; -} - -bool Renderer9::copyToRenderTargetCube(TextureStorage *dest, TextureStorage *source) -{ - bool result = false; - - if (source && dest) - { - TextureStorage9_Cube *source9 = TextureStorage9_Cube::makeTextureStorage9_Cube(source); - TextureStorage9_Cube *dest9 = TextureStorage9_Cube::makeTextureStorage9_Cube(dest); - int levels = source9->getLevelCount(); - for (int f = 0; f < 6; f++) - { - for (int i = 0; i < levels; i++) - { - IDirect3DSurface9 *srcSurf = source9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + f, i, false); - IDirect3DSurface9 *dstSurf = dest9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + f, i, true); - - result = copyToRenderTarget(dstSurf, srcSurf, source9->isManaged()); - - SafeRelease(srcSurf); - SafeRelease(dstSurf); - - if (!result) - { - return false; - } - } - } - } - - return result; -} - -bool Renderer9::copyToRenderTarget3D(TextureStorage *dest, TextureStorage *source) -{ - // 3D textures are not available in the D3D9 backend. - UNREACHABLE(); - return false; -} - -bool Renderer9::copyToRenderTarget2DArray(TextureStorage *dest, TextureStorage *source) -{ - // 2D array textures are not supported by the D3D9 backend. - UNREACHABLE(); - return false; -} - D3DPOOL Renderer9::getBufferPool(DWORD usage) const { if (mD3d9Ex != NULL) @@ -2428,8 +2397,8 @@ D3DPOOL Renderer9::getBufferPool(DWORD usage) const return D3DPOOL_DEFAULT; } -bool Renderer9::copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) +gl::Error Renderer9::copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level) { RECT rect; rect.left = sourceRect.x; @@ -2440,8 +2409,8 @@ bool Renderer9::copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &s return mBlit->copy2D(framebuffer, rect, destFormat, xoffset, yoffset, storage, level); } -bool Renderer9::copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) +gl::Error Renderer9::copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level) { RECT rect; rect.left = sourceRect.x; @@ -2452,24 +2421,24 @@ bool Renderer9::copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle return mBlit->copyCube(framebuffer, rect, destFormat, xoffset, yoffset, storage, target, level); } -bool Renderer9::copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) +gl::Error Renderer9::copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) { // 3D textures are not available in the D3D9 backend. UNREACHABLE(); - return false; + return gl::Error(GL_INVALID_OPERATION); } -bool Renderer9::copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) +gl::Error Renderer9::copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level) { // 2D array textures are not available in the D3D9 backend. UNREACHABLE(); - return false; + return gl::Error(GL_INVALID_OPERATION); } -bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle &readRect, gl::Framebuffer *drawFramebuffer, const gl::Rectangle &drawRect, - const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter) +gl::Error Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle &readRect, gl::Framebuffer *drawFramebuffer, const gl::Rectangle &drawRect, + const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter) { ASSERT(filter == GL_NEAREST); @@ -2478,35 +2447,33 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle & if (blitRenderTarget) { gl::FramebufferAttachment *readBuffer = readFramebuffer->getColorbuffer(0); - gl::FramebufferAttachment *drawBuffer = drawFramebuffer->getColorbuffer(0); - RenderTarget9 *readRenderTarget = NULL; - RenderTarget9 *drawRenderTarget = NULL; - IDirect3DSurface9* readSurface = NULL; - IDirect3DSurface9* drawSurface = NULL; + ASSERT(readBuffer); - if (readBuffer) - { - readRenderTarget = d3d9::GetAttachmentRenderTarget(readBuffer); - } - if (drawBuffer) + RenderTarget9 *readRenderTarget = NULL; + gl::Error error = d3d9::GetAttachmentRenderTarget(readBuffer, &readRenderTarget); + if (error.isError()) { - drawRenderTarget = d3d9::GetAttachmentRenderTarget(drawBuffer); + return error; } + ASSERT(readRenderTarget); - if (readRenderTarget) - { - readSurface = readRenderTarget->getSurface(); - } - if (drawRenderTarget) - { - drawSurface = drawRenderTarget->getSurface(); - } + gl::FramebufferAttachment *drawBuffer = drawFramebuffer->getColorbuffer(0); + ASSERT(drawBuffer); - if (!readSurface || !drawSurface) + RenderTarget9 *drawRenderTarget = NULL; + error = d3d9::GetAttachmentRenderTarget(drawBuffer, &drawRenderTarget); + if (error.isError()) { - ERR("Failed to retrieve the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(drawRenderTarget); + + // The getSurface calls do an AddRef so save them until after no errors are possible + IDirect3DSurface9* readSurface = readRenderTarget->getSurface(); + ASSERT(readSurface); + + IDirect3DSurface9* drawSurface = drawRenderTarget->getSurface(); + ASSERT(drawSurface); gl::Extents srcSize(readRenderTarget->getWidth(), readRenderTarget->getHeight(), 1); gl::Extents dstSize(drawRenderTarget->getWidth(), drawRenderTarget->getHeight(), 1); @@ -2599,43 +2566,40 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle & if (FAILED(result)) { - ERR("BlitFramebufferANGLE failed: StretchRect returned %x.", result); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Internal blit failed, StretchRect returned 0x%X.", result); } } if (blitDepth || blitStencil) { gl::FramebufferAttachment *readBuffer = readFramebuffer->getDepthOrStencilbuffer(); - gl::FramebufferAttachment *drawBuffer = drawFramebuffer->getDepthOrStencilbuffer(); - RenderTarget9 *readDepthStencil = NULL; - RenderTarget9 *drawDepthStencil = NULL; - IDirect3DSurface9* readSurface = NULL; - IDirect3DSurface9* drawSurface = NULL; + ASSERT(readBuffer); - if (readBuffer) - { - readDepthStencil = d3d9::GetAttachmentRenderTarget(readBuffer); - } - if (drawBuffer) + RenderTarget9 *readDepthStencil = NULL; + gl::Error error = d3d9::GetAttachmentRenderTarget(readBuffer, &readDepthStencil); + if (error.isError()) { - drawDepthStencil = d3d9::GetAttachmentRenderTarget(drawBuffer); + return error; } + ASSERT(readDepthStencil); - if (readDepthStencil) - { - readSurface = readDepthStencil->getSurface(); - } - if (drawDepthStencil) - { - drawSurface = drawDepthStencil->getSurface(); - } + gl::FramebufferAttachment *drawBuffer = drawFramebuffer->getDepthOrStencilbuffer(); + ASSERT(drawBuffer); - if (!readSurface || !drawSurface) + RenderTarget9 *drawDepthStencil = NULL; + error = d3d9::GetAttachmentRenderTarget(drawBuffer, &drawDepthStencil); + if (error.isError()) { - ERR("Failed to retrieve the render target."); - return gl::error(GL_OUT_OF_MEMORY, false); + return error; } + ASSERT(drawDepthStencil); + + // The getSurface calls do an AddRef so save them until after no errors are possible + IDirect3DSurface9* readSurface = readDepthStencil->getSurface(); + ASSERT(readDepthStencil); + + IDirect3DSurface9* drawSurface = drawDepthStencil->getSurface(); + ASSERT(drawDepthStencil); HRESULT result = mDevice->StretchRect(readSurface, NULL, drawSurface, NULL, D3DTEXF_NONE); @@ -2644,12 +2608,11 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle & if (FAILED(result)) { - ERR("BlitFramebufferANGLE failed: StretchRect returned %x.", result); - return false; + return gl::Error(GL_OUT_OF_MEMORY, "Internal blit failed, StretchRect returned 0x%X.", result); } } - return true; + return gl::Error(GL_NO_ERROR); } gl::Error Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, @@ -2657,25 +2620,19 @@ gl::Error Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, { ASSERT(pack.pixelBuffer.get() == NULL); - RenderTarget9 *renderTarget = NULL; - IDirect3DSurface9 *surface = NULL; gl::FramebufferAttachment *colorbuffer = framebuffer->getColorbuffer(0); + ASSERT(colorbuffer); - if (colorbuffer) - { - renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); - } - - if (renderTarget) + RenderTarget9 *renderTarget = NULL; + gl::Error error = d3d9::GetAttachmentRenderTarget(colorbuffer, &renderTarget); + if (error.isError()) { - surface = renderTarget->getSurface(); + return error; } + ASSERT(renderTarget); - if (!surface) - { - // context must be lost - return gl::Error(GL_NO_ERROR); - } + IDirect3DSurface9 *surface = renderTarget->getSurface(); + ASSERT(surface); D3DSURFACE_DESC desc; surface->GetDesc(&desc); @@ -2869,64 +2826,69 @@ void Renderer9::releaseShaderCompiler() ShaderD3D::releaseCompiler(); } -ShaderExecutable *Renderer9::loadExecutable(const void *function, size_t length, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers) +gl::Error Renderer9::loadExecutable(const void *function, size_t length, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, ShaderExecutable **outExecutable) { // Transform feedback is not supported in ES2 or D3D9 ASSERT(transformFeedbackVaryings.size() == 0); - ShaderExecutable9 *executable = NULL; - switch (type) { case rx::SHADER_VERTEX: { - IDirect3DVertexShader9 *vshader = createVertexShader((DWORD*)function, length); - if (vshader) + IDirect3DVertexShader9 *vshader = NULL; + gl::Error error = createVertexShader((DWORD*)function, length, &vshader); + if (error.isError()) { - executable = new ShaderExecutable9(function, length, vshader); + return error; } + *outExecutable = new ShaderExecutable9(function, length, vshader); } break; case rx::SHADER_PIXEL: { - IDirect3DPixelShader9 *pshader = createPixelShader((DWORD*)function, length); - if (pshader) + IDirect3DPixelShader9 *pshader = NULL; + gl::Error error = createPixelShader((DWORD*)function, length, &pshader); + if (error.isError()) { - executable = new ShaderExecutable9(function, length, pshader); + return error; } + *outExecutable = new ShaderExecutable9(function, length, pshader); } break; default: UNREACHABLE(); - break; + return gl::Error(GL_INVALID_OPERATION); } - return executable; + return gl::Error(GL_NO_ERROR); } -ShaderExecutable *Renderer9::compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers, D3DWorkaroundType workaround) +gl::Error Renderer9::compileToExecutable(gl::InfoLog &infoLog, const std::string &shaderHLSL, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, D3DWorkaroundType workaround, + ShaderExecutable **outExectuable) { // Transform feedback is not supported in ES2 or D3D9 ASSERT(transformFeedbackVaryings.size() == 0); - const char *profile = NULL; - + const char *profileType = NULL; switch (type) { case rx::SHADER_VERTEX: - profile = getMajorShaderModel() >= 3 ? "vs_3_0" : "vs_2_0"; + profileType = "vs"; break; case rx::SHADER_PIXEL: - profile = getMajorShaderModel() >= 3 ? "ps_3_0" : "ps_2_0"; + profileType = "ps"; break; default: UNREACHABLE(); - return NULL; + return gl::Error(GL_INVALID_OPERATION); } + unsigned int profileMajorVersion = (getMajorShaderModel() >= 3) ? 3 : 2; + unsigned int profileMinorVersion = 0; + std::string profile = FormatString("%s_%u_%u", profileType, profileMajorVersion, profileMinorVersion); UINT flags = ANGLE_COMPILE_OPTIMIZATION_LEVEL; @@ -2947,41 +2909,46 @@ ShaderExecutable *Renderer9::compileToExecutable(gl::InfoLog &infoLog, const cha #endif flags |= D3DCOMPILE_DEBUG; - - std::string sourcePath = getTempPath(); - std::string sourceText = std::string("#line 2 \"") + sourcePath + std::string("\"\n\n") + std::string(shaderHLSL); - writeFile(sourcePath.c_str(), sourceText.c_str(), sourceText.size()); } // Sometimes D3DCompile will fail with the default compilation flags for complicated shaders when it would otherwise pass with alternative options. // Try the default flags first and if compilation fails, try some alternatives. - const UINT extraFlags[] = + std::vector<CompileConfig> configs; + configs.push_back(CompileConfig(flags, "default" )); + configs.push_back(CompileConfig(flags | D3DCOMPILE_AVOID_FLOW_CONTROL, "avoid flow control" )); + configs.push_back(CompileConfig(flags | D3DCOMPILE_PREFER_FLOW_CONTROL, "prefer flow control")); + + ID3DBlob *binary = NULL; + std::string debugInfo; + gl::Error error = mCompiler.compileToBinary(infoLog, shaderHLSL, profile, configs, NULL, &binary, &debugInfo); + if (error.isError()) { - flags, - flags | D3DCOMPILE_AVOID_FLOW_CONTROL, - flags | D3DCOMPILE_PREFER_FLOW_CONTROL - }; + return error; + } - const static char *extraFlagNames[] = + // It's possible that binary is NULL if the compiler failed in all configurations. Set the executable to NULL + // and return GL_NO_ERROR to signify that there was a link error but the internal state is still OK. + if (!binary) { - "default", - "avoid flow control", - "prefer flow control" - }; + *outExectuable = NULL; + return gl::Error(GL_NO_ERROR); + } - int attempts = ArraySize(extraFlags); + error = loadExecutable(binary->GetBufferPointer(), binary->GetBufferSize(), type, + transformFeedbackVaryings, separatedOutputBuffers, outExectuable); - ID3DBlob *binary = (ID3DBlob*)mCompiler.compileToBinary(infoLog, shaderHLSL, profile, extraFlags, extraFlagNames, attempts); - if (!binary) + SafeRelease(binary); + if (error.isError()) { - return NULL; + return error; } - ShaderExecutable *executable = loadExecutable(binary->GetBufferPointer(), binary->GetBufferSize(), type, - transformFeedbackVaryings, separatedOutputBuffers); - SafeRelease(binary); + if (!debugInfo.empty()) + { + (*outExectuable)->appendDebugInfo(debugInfo); + } - return executable; + return gl::Error(GL_NO_ERROR); } rx::UniformStorage *Renderer9::createUniformStorage(size_t storageSize) @@ -2989,7 +2956,7 @@ rx::UniformStorage *Renderer9::createUniformStorage(size_t storageSize) return new UniformStorage(storageSize); } -bool Renderer9::boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest) +gl::Error Renderer9::boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest) { return mBlit->boxFilter(source, dest); } @@ -3011,41 +2978,40 @@ D3DPOOL Renderer9::getTexturePool(DWORD usage) const return D3DPOOL_DEFAULT; } -bool Renderer9::copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *source, bool fromManaged) +gl::Error Renderer9::copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *source, bool fromManaged) { - if (source && dest) - { - HRESULT result = D3DERR_OUTOFVIDEOMEMORY; + ASSERT(source && dest); - if (fromManaged) - { - D3DSURFACE_DESC desc; - source->GetDesc(&desc); + HRESULT result = D3DERR_OUTOFVIDEOMEMORY; - IDirect3DSurface9 *surf = 0; - result = mDevice->CreateOffscreenPlainSurface(desc.Width, desc.Height, desc.Format, D3DPOOL_SYSTEMMEM, &surf, NULL); + if (fromManaged) + { + D3DSURFACE_DESC desc; + source->GetDesc(&desc); - if (SUCCEEDED(result)) - { - Image9::copyLockableSurfaces(surf, source); - result = mDevice->UpdateSurface(surf, NULL, dest, NULL); - SafeRelease(surf); - } - } - else - { - endScene(); - result = mDevice->StretchRect(source, NULL, dest, NULL, D3DTEXF_NONE); - } + IDirect3DSurface9 *surf = 0; + result = mDevice->CreateOffscreenPlainSurface(desc.Width, desc.Height, desc.Format, D3DPOOL_SYSTEMMEM, &surf, NULL); - if (FAILED(result)) + if (SUCCEEDED(result)) { - ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); - return false; + Image9::copyLockableSurfaces(surf, source); + result = mDevice->UpdateSurface(surf, NULL, dest, NULL); + SafeRelease(surf); } } + else + { + endScene(); + result = mDevice->StretchRect(source, NULL, dest, NULL, D3DTEXF_NONE); + } - return true; + if (FAILED(result)) + { + ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); + return gl::Error(GL_OUT_OF_MEMORY, "Failed to blit internal texture, result: 0x%X.", result); + } + + return gl::Error(GL_NO_ERROR); } Image *Renderer9::createImage() @@ -3133,4 +3099,9 @@ void Renderer9::generateCaps(gl::Caps *outCaps, gl::TextureCapsMap *outTextureCa d3d9_gl::GenerateCaps(mD3d9, mDevice, mDeviceType, mAdapter, outCaps, outTextureCaps, outExtensions); } +Workarounds Renderer9::generateWorkarounds() const +{ + return d3d9::GenerateWorkarounds(); +} + } diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h index 87a33231..120987c9 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h +++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h @@ -48,48 +48,47 @@ class Renderer9 : public Renderer void startScene(); void endScene(); - virtual void sync(bool block); + virtual gl::Error sync(bool block); - virtual SwapChain *createSwapChain(HWND window, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat); + virtual SwapChain *createSwapChain(rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat); - IDirect3DQuery9* allocateEventQuery(); + gl::Error allocateEventQuery(IDirect3DQuery9 **outQuery); void freeEventQuery(IDirect3DQuery9* query); // resource creation - IDirect3DVertexShader9 *createVertexShader(const DWORD *function, size_t length); - IDirect3DPixelShader9 *createPixelShader(const DWORD *function, size_t length); + gl::Error createVertexShader(const DWORD *function, size_t length, IDirect3DVertexShader9 **outShader); + gl::Error createPixelShader(const DWORD *function, size_t length, IDirect3DPixelShader9 **outShader); HRESULT createVertexBuffer(UINT Length, DWORD Usage, IDirect3DVertexBuffer9 **ppVertexBuffer); HRESULT createIndexBuffer(UINT Length, DWORD Usage, D3DFORMAT Format, IDirect3DIndexBuffer9 **ppIndexBuffer); - virtual void generateSwizzle(gl::Texture *texture); - virtual void setSamplerState(gl::SamplerType type, int index, const gl::SamplerState &sampler); - virtual void setTexture(gl::SamplerType type, int index, gl::Texture *texture); + virtual gl::Error generateSwizzle(gl::Texture *texture); + virtual gl::Error setSamplerState(gl::SamplerType type, int index, gl::Texture *texture, const gl::SamplerState &sampler); + virtual gl::Error setTexture(gl::SamplerType type, int index, gl::Texture *texture); - virtual bool setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]); + virtual gl::Error setUniformBuffers(const gl::Buffer *vertexUniformBuffers[], const gl::Buffer *fragmentUniformBuffers[]); - virtual void setRasterizerState(const gl::RasterizerState &rasterState); - virtual void setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, - unsigned int sampleMask); - virtual void setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, - int stencilBackRef, bool frontFaceCCW); + virtual gl::Error setRasterizerState(const gl::RasterizerState &rasterState); + virtual gl::Error setBlendState(gl::Framebuffer *framebuffer, const gl::BlendState &blendState, const gl::ColorF &blendColor, + unsigned int sampleMask); + virtual gl::Error setDepthStencilState(const gl::DepthStencilState &depthStencilState, int stencilRef, + int stencilBackRef, bool frontFaceCCW); virtual void setScissorRectangle(const gl::Rectangle &scissor, bool enabled); virtual void setViewport(const gl::Rectangle &viewport, float zNear, float zFar, GLenum drawMode, GLenum frontFace, bool ignoreViewport); - virtual bool applyRenderTarget(gl::Framebuffer *frameBuffer); - virtual void applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, - bool rasterizerDiscard, bool transformFeedbackActive); - virtual void applyUniforms(const gl::ProgramBinary &programBinary); + virtual gl::Error applyRenderTarget(gl::Framebuffer *frameBuffer); + virtual gl::Error applyShaders(gl::ProgramBinary *programBinary, const gl::VertexFormat inputLayout[], const gl::Framebuffer *framebuffer, + bool rasterizerDiscard, bool transformFeedbackActive); + virtual gl::Error applyUniforms(const ProgramImpl &program, const std::vector<gl::LinkedUniform*> &uniformArray); virtual bool applyPrimitiveType(GLenum primitiveType, GLsizei elementCount); - virtual gl::Error applyVertexBuffer(gl::ProgramBinary *programBinary, const gl::VertexAttribute vertexAttributes[], const gl::VertexAttribCurrentValueData currentValues[], - GLint first, GLsizei count, GLsizei instances); + virtual gl::Error applyVertexBuffer(const gl::State &state, GLint first, GLsizei count, GLsizei instances); virtual gl::Error applyIndexBuffer(const GLvoid *indices, gl::Buffer *elementArrayBuffer, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo); - virtual void applyTransformFeedbackBuffers(gl::Buffer *transformFeedbackBuffers[], GLintptr offsets[]); + virtual void applyTransformFeedbackBuffers(const gl::State& state); - virtual void drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive); - virtual void drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, - gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances); + virtual gl::Error drawArrays(GLenum mode, GLsizei count, GLsizei instances, bool transformFeedbackActive); + virtual gl::Error drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, + gl::Buffer *elementArrayBuffer, const TranslatedIndexData &indexInfo, GLsizei instances); virtual gl::Error clear(const gl::ClearParameters &clearParams, gl::Framebuffer *frameBuffer); @@ -119,22 +118,17 @@ class Renderer9 : public Renderer virtual int getMaxSwapInterval() const; // Pixel operations - virtual bool copyToRenderTarget2D(TextureStorage *dest, TextureStorage *source); - virtual bool copyToRenderTargetCube(TextureStorage *dest, TextureStorage *source); - virtual bool copyToRenderTarget3D(TextureStorage *dest, TextureStorage *source); - virtual bool copyToRenderTarget2DArray(TextureStorage *dest, TextureStorage *source); - - virtual bool copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level); - virtual bool copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level); - virtual bool copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, - GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level); - virtual bool copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + virtual gl::Error copyImage2D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLint level); + virtual gl::Error copyImageCube(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, TextureStorage *storage, GLenum target, GLint level); + virtual gl::Error copyImage3D(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level); + virtual gl::Error copyImage2DArray(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, + GLint xoffset, GLint yoffset, GLint zOffset, TextureStorage *storage, GLint level); - virtual bool blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, - const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter); + virtual gl::Error blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect, + const gl::Rectangle *scissor, bool blitRenderTarget, bool blitDepth, bool blitStencil, GLenum filter); virtual gl::Error readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLuint outputPitch, const gl::PixelPackState &pack, uint8_t *pixels); @@ -149,12 +143,13 @@ class Renderer9 : public Renderer // Shader operations virtual void releaseShaderCompiler(); - virtual ShaderExecutable *loadExecutable(const void *function, size_t length, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers); - virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type, - const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, - bool separatedOutputBuffers, D3DWorkaroundType workaround); + virtual gl::Error loadExecutable(const void *function, size_t length, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, ShaderExecutable **outExecutable); + virtual gl::Error compileToExecutable(gl::InfoLog &infoLog, const std::string &shaderHLSL, rx::ShaderType type, + const std::vector<gl::LinkedVarying> &transformFeedbackVaryings, + bool separatedOutputBuffers, D3DWorkaroundType workaround, + ShaderExecutable **outExectuable); virtual UniformStorage *createUniformStorage(size_t storageSize); // Image operations @@ -179,18 +174,19 @@ class Renderer9 : public Renderer // Query and Fence creation virtual QueryImpl *createQuery(GLenum type); - virtual FenceImpl *createFence(); + virtual FenceNVImpl *createFenceNV(); + virtual FenceSyncImpl *createFenceSync(); // Transform Feedback creation virtual TransformFeedbackImpl* createTransformFeedback(); // Buffer-to-texture and Texture-to-buffer copies virtual bool supportsFastCopyBufferToTexture(GLenum internalFormat) const; - virtual bool fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, - GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea); + virtual gl::Error fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget, + GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea); // D3D9-renderer specific methods - bool boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest); + gl::Error boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest); D3DPOOL getTexturePool(DWORD usage) const; @@ -198,10 +194,13 @@ class Renderer9 : public Renderer virtual rx::VertexConversionType getVertexConversionType(const gl::VertexFormat &vertexFormat) const; virtual GLenum getVertexComponentType(const gl::VertexFormat &vertexFormat) const; + gl::Error copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *source, bool fromManaged); + private: DISALLOW_COPY_AND_ASSIGN(Renderer9); virtual void generateCaps(gl::Caps *outCaps, gl::TextureCapsMap *outTextureCaps, gl::Extensions *outExtensions) const; + virtual Workarounds generateWorkarounds() const; void release(); @@ -209,12 +208,11 @@ class Renderer9 : public Renderer void applyUniformniv(gl::LinkedUniform *targetUniform, const GLint *v); void applyUniformnbv(gl::LinkedUniform *targetUniform, const GLint *v); - void drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer); - void drawIndexedPoints(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer); + gl::Error drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer); + gl::Error drawIndexedPoints(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer); - StaticIndexBufferInterface *getCountingIB(size_t count); + gl::Error getCountingIB(size_t count, StaticIndexBufferInterface **outIB); - bool copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *source, bool fromManaged); gl::FramebufferAttachment *getNullColorbuffer(gl::FramebufferAttachment *depthbuffer); D3DPOOL getBufferPool(DWORD usage) const; diff --git a/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h b/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h index 2ad30228..6d7d2d64 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h +++ b/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h @@ -10,6 +10,8 @@ #ifndef LIBGLESV2_RENDERER_SHADER_CACHE_H_ #define LIBGLESV2_RENDERER_SHADER_CACHE_H_ +#include "libGLESv2/Error.h" + #include "common/debug.h" #include <cstddef> @@ -37,21 +39,22 @@ class ShaderCache mDevice = device; } - ShaderObject *create(const DWORD *function, size_t length) + gl::Error create(const DWORD *function, size_t length, ShaderObject **outShaderObject) { std::string key(reinterpret_cast<const char*>(function), length); typename Map::iterator it = mMap.find(key); if (it != mMap.end()) { it->second->AddRef(); - return it->second; + *outShaderObject = it->second; + return gl::Error(GL_NO_ERROR); } ShaderObject *shader; HRESULT result = createShader(function, &shader); if (FAILED(result)) { - return NULL; + return gl::Error(GL_OUT_OF_MEMORY, "Failed to create shader, result: 0x%X.", result); } // Random eviction policy. @@ -64,7 +67,8 @@ class ShaderCache shader->AddRef(); mMap[key] = shader; - return shader; + *outShaderObject = shader; + return gl::Error(GL_NO_ERROR); } void clear() diff --git a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp index f702b794..cd8764ca 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp @@ -14,9 +14,10 @@ namespace rx { -SwapChain9::SwapChain9(Renderer9 *renderer, HWND window, HANDLE shareHandle, +SwapChain9::SwapChain9(Renderer9 *renderer, rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat) - : mRenderer(renderer), SwapChain(window, shareHandle, backBufferFormat, depthBufferFormat) + : mRenderer(renderer), + SwapChain(nativeWindow, shareHandle, backBufferFormat, depthBufferFormat) { mSwapChain = NULL; mBackBuffer = NULL; @@ -41,7 +42,7 @@ void SwapChain9::release() SafeRelease(mRenderTarget); SafeRelease(mOffscreenTexture); - if (mWindow) + if (mNativeWindow.getNativeWindow()) { mShareHandle = NULL; } @@ -95,7 +96,7 @@ EGLint SwapChain9::reset(int backbufferWidth, int backbufferHeight, EGLint swapI SafeRelease(mDepthStencil); HANDLE *pShareHandle = NULL; - if (!mWindow && mRenderer->getShareHandleSupport()) + if (!mNativeWindow.getNativeWindow() && mRenderer->getShareHandleSupport()) { pShareHandle = &mShareHandle; } @@ -152,7 +153,8 @@ EGLint SwapChain9::reset(int backbufferWidth, int backbufferHeight, EGLint swapI const d3d9::TextureFormat &depthBufferd3dFormatInfo = d3d9::GetTextureFormatInfo(mDepthBufferFormat); - if (mWindow) + EGLNativeWindowType window = mNativeWindow.getNativeWindow(); + if (window) { D3DPRESENT_PARAMETERS presentParameters = {0}; presentParameters.AutoDepthStencilFormat = depthBufferd3dFormatInfo.renderFormat; @@ -160,7 +162,7 @@ EGLint SwapChain9::reset(int backbufferWidth, int backbufferHeight, EGLint swapI presentParameters.BackBufferFormat = backBufferd3dFormatInfo.renderFormat; presentParameters.EnableAutoDepthStencil = FALSE; presentParameters.Flags = 0; - presentParameters.hDeviceWindow = mWindow; + presentParameters.hDeviceWindow = window; presentParameters.MultiSampleQuality = 0; // FIXME: Unimplemented presentParameters.MultiSampleType = D3DMULTISAMPLE_NONE; // FIXME: Unimplemented presentParameters.PresentationInterval = convertInterval(swapInterval); @@ -203,7 +205,7 @@ EGLint SwapChain9::reset(int backbufferWidth, int backbufferHeight, EGLint swapI result = mSwapChain->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &mBackBuffer); ASSERT(SUCCEEDED(result)); - InvalidateRect(mWindow, NULL, FALSE); + InvalidateRect(window, NULL, FALSE); } if (mDepthBufferFormat != GL_NONE) diff --git a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h index 16a62bd8..c50d0a06 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h +++ b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h @@ -19,7 +19,7 @@ class Renderer9; class SwapChain9 : public SwapChain { public: - SwapChain9(Renderer9 *renderer, HWND window, HANDLE shareHandle, + SwapChain9(Renderer9 *renderer, rx::NativeWindow nativeWindow, HANDLE shareHandle, GLenum backBufferFormat, GLenum depthBufferFormat); virtual ~SwapChain9(); diff --git a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp index f44e33db..639bdff7 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp @@ -87,6 +87,13 @@ int TextureStorage9::getLevelCount() const return getBaseTexture() ? (getBaseTexture()->GetLevelCount() - getTopLevel()) : 0; } +gl::Error TextureStorage9::setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type, + const gl::PixelUnpackState &unpack, const uint8_t *pixelData) +{ + UNREACHABLE(); + return gl::Error(GL_INVALID_OPERATION); +} + TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, SwapChain9 *swapchain) : TextureStorage9(renderer, D3DUSAGE_RENDERTARGET) { @@ -159,28 +166,25 @@ IDirect3DSurface9 *TextureStorage9_2D::getSurfaceLevel(int level, bool dirty) return surface; } -RenderTarget *TextureStorage9_2D::getRenderTarget(const gl::ImageIndex &/*index*/) +gl::Error TextureStorage9_2D::getRenderTarget(const gl::ImageIndex &/*index*/, RenderTarget **outRT) { - return mRenderTarget; + ASSERT(outRT); + *outRT = mRenderTarget; + return gl::Error(GL_NO_ERROR); } -void TextureStorage9_2D::generateMipmaps() +void TextureStorage9_2D::generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex) { - // Base level must already be defined + IDirect3DSurface9 *upper = getSurfaceLevel(sourceIndex.mipIndex, false); + IDirect3DSurface9 *lower = getSurfaceLevel(destIndex.mipIndex, true); - for (int level = 1; level < getLevelCount(); level++) + if (upper != NULL && lower != NULL) { - IDirect3DSurface9 *upper = getSurfaceLevel(level - 1, false); - IDirect3DSurface9 *lower = getSurfaceLevel(level, true); - - if (upper != NULL && lower != NULL) - { - mRenderer->boxFilter(upper, lower); - } - - SafeRelease(upper); - SafeRelease(lower); + mRenderer->boxFilter(upper, lower); } + + SafeRelease(upper); + SafeRelease(lower); } IDirect3DBaseTexture9 *TextureStorage9_2D::getBaseTexture() const @@ -200,11 +204,37 @@ void TextureStorage9_2D::initializeRenderTarget() } } +gl::Error TextureStorage9_2D::copyToStorage(TextureStorage *destStorage) +{ + ASSERT(destStorage); + + TextureStorage9_2D *dest9 = TextureStorage9_2D::makeTextureStorage9_2D(destStorage); + + int levels = getLevelCount(); + for (int i = 0; i < levels; ++i) + { + IDirect3DSurface9 *srcSurf = getSurfaceLevel(i, false); + IDirect3DSurface9 *dstSurf = dest9->getSurfaceLevel(i, true); + + gl::Error error = mRenderer->copyToRenderTarget(dstSurf, srcSurf, isManaged()); + + SafeRelease(srcSurf); + SafeRelease(dstSurf); + + if (error.isError()) + { + return error; + } + } + + return gl::Error(GL_NO_ERROR); +} + TextureStorage9_Cube::TextureStorage9_Cube(Renderer *renderer, GLenum internalformat, bool renderTarget, int size, int levels) : TextureStorage9(renderer, GetTextureUsage(internalformat, renderTarget)) { mTexture = NULL; - for (int i = 0; i < 6; ++i) + for (int i = 0; i < CUBE_FACE_COUNT; ++i) { mRenderTarget[i] = NULL; } @@ -229,14 +259,14 @@ TextureStorage9_Cube::TextureStorage9_Cube(Renderer *renderer, GLenum internalfo } initializeRenderTarget(); - initializeSerials(getLevelCount() * 6, 6); + initializeSerials(getLevelCount() * CUBE_FACE_COUNT, CUBE_FACE_COUNT); } TextureStorage9_Cube::~TextureStorage9_Cube() { SafeRelease(mTexture); - for (int i = 0; i < 6; ++i) + for (int i = 0; i < CUBE_FACE_COUNT; ++i) { SafeDelete(mRenderTarget[i]); } @@ -271,31 +301,27 @@ IDirect3DSurface9 *TextureStorage9_Cube::getCubeMapSurface(GLenum faceTarget, in return surface; } -RenderTarget *TextureStorage9_Cube::getRenderTarget(const gl::ImageIndex &index) +gl::Error TextureStorage9_Cube::getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) { - return mRenderTarget[index.layerIndex]; + ASSERT(outRT); + ASSERT(index.mipIndex == 0); + ASSERT(index.layerIndex >= 0 && index.layerIndex < CUBE_FACE_COUNT); + *outRT = mRenderTarget[index.layerIndex]; + return gl::Error(GL_NO_ERROR); } -void TextureStorage9_Cube::generateMipmaps() +void TextureStorage9_Cube::generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex) { - // Base level must already be defined + IDirect3DSurface9 *upper = getCubeMapSurface(sourceIndex.type, destIndex.mipIndex, false); + IDirect3DSurface9 *lower = getCubeMapSurface(destIndex.type, destIndex.mipIndex, true); - for (int faceIndex = 0; faceIndex < 6; faceIndex++) + if (upper != NULL && lower != NULL) { - for (int level = 1; level < getLevelCount(); level++) - { - IDirect3DSurface9 *upper = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level - 1, false); - IDirect3DSurface9 *lower = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level, true); - - if (upper != NULL && lower != NULL) - { - mRenderer->boxFilter(upper, lower); - } - - SafeRelease(upper); - SafeRelease(lower); - } + mRenderer->boxFilter(upper, lower); } + + SafeRelease(upper); + SafeRelease(lower); } IDirect3DBaseTexture9 *TextureStorage9_Cube::getBaseTexture() const @@ -309,7 +335,7 @@ void TextureStorage9_Cube::initializeRenderTarget() { IDirect3DSurface9 *surface = NULL; - for (int i = 0; i < 6; ++i) + for (int i = 0; i < CUBE_FACE_COUNT; ++i) { ASSERT(mRenderTarget[i] == NULL); @@ -320,4 +346,33 @@ void TextureStorage9_Cube::initializeRenderTarget() } } -}
\ No newline at end of file +gl::Error TextureStorage9_Cube::copyToStorage(TextureStorage *destStorage) +{ + ASSERT(destStorage); + + TextureStorage9_Cube *dest9 = TextureStorage9_Cube::makeTextureStorage9_Cube(destStorage); + + int levels = getLevelCount(); + for (int f = 0; f < CUBE_FACE_COUNT; f++) + { + for (int i = 0; i < levels; i++) + { + IDirect3DSurface9 *srcSurf = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + f, i, false); + IDirect3DSurface9 *dstSurf = dest9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + f, i, true); + + gl::Error error = mRenderer->copyToRenderTarget(dstSurf, srcSurf, isManaged()); + + SafeRelease(srcSurf); + SafeRelease(dstSurf); + + if (error.isError()) + { + return error; + } + } + } + + return gl::Error(GL_NO_ERROR); +} + +} diff --git a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h index e698c7dd..a281817a 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h +++ b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h @@ -34,14 +34,17 @@ class TextureStorage9 : public TextureStorage DWORD getUsage() const; virtual IDirect3DBaseTexture9 *getBaseTexture() const = 0; - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; - virtual void generateMipmaps() = 0; + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT) = 0; + virtual void generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex) = 0; virtual int getTopLevel() const; virtual bool isRenderTarget() const; virtual bool isManaged() const; virtual int getLevelCount() const; + virtual gl::Error setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type, + const gl::PixelUnpackState &unpack, const uint8_t *pixelData); + protected: int mTopLevel; Renderer9 *mRenderer; @@ -65,9 +68,10 @@ class TextureStorage9_2D : public TextureStorage9 static TextureStorage9_2D *makeTextureStorage9_2D(TextureStorage *storage); IDirect3DSurface9 *getSurfaceLevel(int level, bool dirty); - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); virtual IDirect3DBaseTexture9 *getBaseTexture() const; - virtual void generateMipmaps(); + virtual void generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex); + virtual gl::Error copyToStorage(TextureStorage *destStorage); private: DISALLOW_COPY_AND_ASSIGN(TextureStorage9_2D); @@ -87,17 +91,20 @@ class TextureStorage9_Cube : public TextureStorage9 static TextureStorage9_Cube *makeTextureStorage9_Cube(TextureStorage *storage); IDirect3DSurface9 *getCubeMapSurface(GLenum faceTarget, int level, bool dirty); - virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); + virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTarget **outRT); virtual IDirect3DBaseTexture9 *getBaseTexture() const; - virtual void generateMipmaps(); + virtual void generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex); + virtual gl::Error copyToStorage(TextureStorage *destStorage); private: DISALLOW_COPY_AND_ASSIGN(TextureStorage9_Cube); void initializeRenderTarget(); + static const size_t CUBE_FACE_COUNT = 6; + IDirect3DCubeTexture9 *mTexture; - RenderTarget9 *mRenderTarget[6]; + RenderTarget9 *mRenderTarget[CUBE_FACE_COUNT]; }; } diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp index d6f950a5..a98b2081 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp @@ -9,6 +9,7 @@ #include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h" #include "libGLESv2/renderer/d3d/d3d9/formatutils9.h" +#include "libGLESv2/renderer/Workarounds.h" #include "libGLESv2/formatutils.h" #include "libGLESv2/Framebuffer.h" #include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h" @@ -277,20 +278,18 @@ static gl::TextureCaps GenerateTextureFormatCaps(GLenum internalFormat, IDirect3 const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(internalFormat); if (formatInfo.depthBits > 0 || formatInfo.stencilBits > 0) { - textureCaps.texturable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, 0, D3DRTYPE_TEXTURE, d3dFormatInfo.renderFormat)); - textureCaps.filterable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_QUERY_FILTER, D3DRTYPE_TEXTURE, d3dFormatInfo.renderFormat)); - textureCaps.renderable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_RENDERTARGET, D3DRTYPE_TEXTURE, d3dFormatInfo.renderFormat)) || - SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, d3dFormatInfo.renderFormat)); + textureCaps.texturable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, 0, D3DRTYPE_TEXTURE, d3dFormatInfo.texFormat)); } else { textureCaps.texturable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, 0, D3DRTYPE_TEXTURE, d3dFormatInfo.texFormat)) && SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, 0, D3DRTYPE_CUBETEXTURE, d3dFormatInfo.texFormat)); - textureCaps.filterable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_QUERY_FILTER, D3DRTYPE_TEXTURE, d3dFormatInfo.texFormat)); - textureCaps.renderable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_RENDERTARGET, D3DRTYPE_TEXTURE, d3dFormatInfo.texFormat)) || - SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, d3dFormatInfo.texFormat)); } + textureCaps.filterable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_QUERY_FILTER, D3DRTYPE_TEXTURE, d3dFormatInfo.texFormat)); + textureCaps.renderable = SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_DEPTHSTENCIL, D3DRTYPE_TEXTURE, d3dFormatInfo.renderFormat)) || + SUCCEEDED(d3d9->CheckDeviceFormat(adapter, deviceType, adapterFormat, D3DUSAGE_RENDERTARGET, D3DRTYPE_TEXTURE, d3dFormatInfo.renderFormat)); + textureCaps.sampleCounts.insert(1); for (size_t i = D3DMULTISAMPLE_2_SAMPLES; i <= D3DMULTISAMPLE_16_SAMPLES; i++) { @@ -392,8 +391,9 @@ void GenerateCaps(IDirect3D9 *d3d9, IDirect3DDevice9 *device, D3DDEVTYPE deviceT caps->maxVertexUniformBlocks = 0; - const size_t MAX_VERTEX_OUTPUT_VECTORS_SM3 = 10; - const size_t MAX_VERTEX_OUTPUT_VECTORS_SM2 = 8; + // SM3 only supports 11 output variables, with a special 12th register for PSIZE. + const size_t MAX_VERTEX_OUTPUT_VECTORS_SM3 = 9; + const size_t MAX_VERTEX_OUTPUT_VECTORS_SM2 = 7; caps->maxVertexOutputComponents = ((deviceCaps.VertexShaderVersion >= D3DVS_VERSION(3, 0)) ? MAX_VERTEX_OUTPUT_VECTORS_SM3 : MAX_VERTEX_OUTPUT_VECTORS_SM2) * 4; @@ -461,7 +461,7 @@ void GenerateCaps(IDirect3D9 *d3d9, IDirect3DDevice9 *device, D3DDEVTYPE deviceT extensions->textureNPOT = !(deviceCaps.TextureCaps & D3DPTEXTURECAPS_POW2) && !(deviceCaps.TextureCaps & D3DPTEXTURECAPS_CUBEMAP_POW2) && !(deviceCaps.TextureCaps & D3DPTEXTURECAPS_NONPOW2CONDITIONAL) && - !(isWindowsVistaOrGreater() && adapterId.VendorId == VENDOR_ID_AMD); + !(!isWindowsVistaOrGreater() && adapterId.VendorId == VENDOR_ID_AMD); } else { @@ -533,10 +533,24 @@ void MakeValidSize(bool isImage, D3DFORMAT format, GLsizei *requestWidth, GLsize *levelOffset = upsampleCount; } -RenderTarget9 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) +gl::Error GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment, RenderTarget9 **outRT) +{ + RenderTarget *renderTarget = NULL; + gl::Error error = rx::GetAttachmentRenderTarget(attachment, &renderTarget); + if (error.isError()) + { + return error; + } + *outRT = RenderTarget9::makeRenderTarget9(renderTarget); + return gl::Error(GL_NO_ERROR); +} + +Workarounds GenerateWorkarounds() { - RenderTarget *renderTarget = rx::GetAttachmentRenderTarget(attachment); - return RenderTarget9::makeRenderTarget9(renderTarget); + Workarounds workarounds; + workarounds.mrtPerfWorkaround = true; + workarounds.setDataFasterThanImageUpload = false; + return workarounds; } } diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h index b0a940e6..9760b973 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h +++ b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h @@ -12,6 +12,7 @@ #include "libGLESv2/angletypes.h" #include "libGLESv2/Caps.h" +#include "libGLESv2/Error.h" namespace gl { @@ -21,6 +22,7 @@ class FramebufferAttachment; namespace rx { class RenderTarget9; +struct Workarounds; namespace gl_d3d9 { @@ -74,7 +76,8 @@ inline bool isDeviceLostError(HRESULT errorCode) } } -RenderTarget9 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment); +gl::Error GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment, RenderTarget9 **outRT); +Workarounds GenerateWorkarounds(); } diff --git a/src/libGLESv2/renderer/loadimageSSE2.cpp b/src/libGLESv2/renderer/loadimageSSE2.cpp index cc20d949..159b4c7e 100644 --- a/src/libGLESv2/renderer/loadimageSSE2.cpp +++ b/src/libGLESv2/renderer/loadimageSSE2.cpp @@ -17,6 +17,12 @@ void LoadA8ToBGRA8_SSE2(size_t width, size_t height, size_t depth, const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch) { +#if defined(_M_ARM) + // Ensure that this function is reported as not implemented for ARM builds because + // the instructions below are not present for that architecture. + UNIMPLEMENTED(); + return; +#else __m128i zeroWide = _mm_setzero_si128(); for (size_t z = 0; z < depth; z++) @@ -54,12 +60,19 @@ void LoadA8ToBGRA8_SSE2(size_t width, size_t height, size_t depth, } } } +#endif } void LoadRGBA8ToBGRA8_SSE2(size_t width, size_t height, size_t depth, const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch) { +#if defined(_M_ARM) + // Ensure that this function is reported as not implemented for ARM builds because + // the instructions below are not present for that architecture. + UNIMPLEMENTED(); + return; +#else __m128i brMask = _mm_set1_epi32(0x00ff00ff); for (size_t z = 0; z < depth; z++) @@ -99,6 +112,7 @@ void LoadRGBA8ToBGRA8_SSE2(size_t width, size_t height, size_t depth, } } } +#endif } } diff --git a/src/libGLESv2/validationES.cpp b/src/libGLESv2/validationES.cpp index 9a5fa311..59c18a20 100644 --- a/src/libGLESv2/validationES.cpp +++ b/src/libGLESv2/validationES.cpp @@ -304,8 +304,8 @@ bool ValidateRenderbufferStorageParameters(gl::Context *context, GLenum target, return false; } - const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(internalformat); - if (!formatInfo.textureSupport(context->getClientVersion(), context->getExtensions())) + const TextureCaps &formatCaps = context->getTextureCaps().get(internalformat); + if (!formatCaps.renderable) { context->recordError(Error(GL_INVALID_ENUM)); return false; @@ -315,6 +315,7 @@ bool ValidateRenderbufferStorageParameters(gl::Context *context, GLenum target, // sized but it does state that the format must be in the ES2.0 spec table 4.5 which contains // only sized internal formats. The ES3 spec (section 4.4.2) does, however, state that the // internal format must be sized and not an integer format if samples is greater than zero. + const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(internalformat); if (formatInfo.pixelBytes == 0) { context->recordError(Error(GL_INVALID_ENUM)); @@ -327,13 +328,6 @@ bool ValidateRenderbufferStorageParameters(gl::Context *context, GLenum target, return false; } - const TextureCaps &formatCaps = context->getTextureCaps().get(internalformat); - if (!formatCaps.renderable) - { - context->recordError(Error(GL_INVALID_ENUM)); - return false; - } - if (static_cast<GLuint>(std::max(width, height)) > context->getCaps().maxRenderbufferSize) { context->recordError(Error(GL_INVALID_VALUE)); @@ -594,7 +588,8 @@ bool ValidateBlitFramebufferParameters(gl::Context *context, GLint srcX0, GLint return false; } - if (attachment->getActualFormat() != readColorBuffer->getActualFormat()) + // Return an error if the destination formats do not match + if (attachment->getInternalFormat() != readColorBuffer->getInternalFormat()) { context->recordError(Error(GL_INVALID_OPERATION)); return false; @@ -1673,7 +1668,7 @@ bool ValidateDrawElements(Context *context, GLenum mode, GLsizei count, GLenum t // TODO: also disable index checking on back-ends that are robust to out-of-range accesses. if (elementArrayBuffer) { - unsigned int offset = reinterpret_cast<unsigned int>(indices); + uintptr_t offset = reinterpret_cast<uintptr_t>(indices); if (!elementArrayBuffer->getIndexRangeCache()->findRange(type, offset, count, indexRangeOut, NULL)) { const void *dataPointer = elementArrayBuffer->getImplementation()->getData(); diff --git a/src/preprocessor.target.darwin-arm.mk b/src/preprocessor.target.darwin-arm.mk index 5a333ac8..9d84b208 100644 --- a/src/preprocessor.target.darwin-arm.mk +++ b/src/preprocessor.target.darwin-arm.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -96,12 +97,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -118,10 +113,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -200,12 +192,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -222,10 +208,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -249,10 +232,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.darwin-arm64.mk b/src/preprocessor.target.darwin-arm64.mk index 97caadc5..49a08520 100644 --- a/src/preprocessor.target.darwin-arm64.mk +++ b/src/preprocessor.target.darwin-arm64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -85,12 +86,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -107,10 +102,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -177,12 +169,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -199,10 +185,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -225,10 +208,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.darwin-mips.mk b/src/preprocessor.target.darwin-mips.mk index c9c81343..8b456848 100644 --- a/src/preprocessor.target.darwin-mips.mk +++ b/src/preprocessor.target.darwin-mips.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -89,12 +90,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -111,10 +106,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -186,12 +178,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -208,10 +194,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -235,10 +218,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.darwin-x86.mk b/src/preprocessor.target.darwin-x86.mk index 6a0af93f..c82d2fbd 100644 --- a/src/preprocessor.target.darwin-x86.mk +++ b/src/preprocessor.target.darwin-x86.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -91,12 +92,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -113,10 +108,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -189,12 +181,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -211,10 +197,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -237,10 +220,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.darwin-x86_64.mk b/src/preprocessor.target.darwin-x86_64.mk index bea6d210..3bbb80e8 100644 --- a/src/preprocessor.target.darwin-x86_64.mk +++ b/src/preprocessor.target.darwin-x86_64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -90,12 +91,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -112,10 +107,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -187,12 +179,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -209,10 +195,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -235,10 +218,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.linux-arm.mk b/src/preprocessor.target.linux-arm.mk index 5a333ac8..9d84b208 100644 --- a/src/preprocessor.target.linux-arm.mk +++ b/src/preprocessor.target.linux-arm.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -96,12 +97,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -118,10 +113,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -200,12 +192,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -222,10 +208,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -249,10 +232,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.linux-arm64.mk b/src/preprocessor.target.linux-arm64.mk index 97caadc5..49a08520 100644 --- a/src/preprocessor.target.linux-arm64.mk +++ b/src/preprocessor.target.linux-arm64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -85,12 +86,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -107,10 +102,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -177,12 +169,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -199,10 +185,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -225,10 +208,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.linux-mips.mk b/src/preprocessor.target.linux-mips.mk index c9c81343..8b456848 100644 --- a/src/preprocessor.target.linux-mips.mk +++ b/src/preprocessor.target.linux-mips.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -89,12 +90,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -111,10 +106,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -186,12 +178,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -208,10 +194,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -235,10 +218,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.linux-x86.mk b/src/preprocessor.target.linux-x86.mk index 6a0af93f..c82d2fbd 100644 --- a/src/preprocessor.target.linux-x86.mk +++ b/src/preprocessor.target.linux-x86.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -91,12 +92,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -113,10 +108,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -189,12 +181,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -211,10 +197,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -237,10 +220,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/preprocessor.target.linux-x86_64.mk b/src/preprocessor.target.linux-x86_64.mk index bea6d210..3bbb80e8 100644 --- a/src/preprocessor.target.linux-x86_64.mk +++ b/src/preprocessor.target.linux-x86_64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_preprocessor_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -90,12 +91,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -112,10 +107,7 @@ MY_DEFS_Debug := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Debug := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -187,12 +179,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DUSE_OPENSSL=1' \ @@ -209,10 +195,7 @@ MY_DEFS_Release := \ # Include paths placed before CFLAGS/CPPFLAGS LOCAL_C_INCLUDES_Release := \ - $(gyp_shared_intermediate_dir) \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(gyp_shared_intermediate_dir) # Flags passed to only C++ (and not C) files. @@ -235,10 +218,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/third_party/systeminfo/SystemInfo.cpp b/src/third_party/systeminfo/SystemInfo.cpp index 19a9644d..97dfcaac 100644 --- a/src/third_party/systeminfo/SystemInfo.cpp +++ b/src/third_party/systeminfo/SystemInfo.cpp @@ -24,6 +24,7 @@ */ #include <windows.h> +#include "common/platform.h" #if _WIN32_WINNT_WINBLUE #include <versionhelpers.h> @@ -52,7 +53,11 @@ bool isWindowsVistaOrGreater() if (!initialized) { initialized = true; +#if defined(ANGLE_ENABLE_WINDOWS_STORE) + cachedIsWindowsVistaOrGreater = true; +#else cachedIsWindowsVistaOrGreater = IsWindowsVistaOrGreater(); +#endif } return cachedIsWindowsVistaOrGreater; } diff --git a/src/third_party/trace_event/trace_event.h b/src/third_party/trace_event/trace_event.h index 18800563..af59dcfc 100644 --- a/src/third_party/trace_event/trace_event.h +++ b/src/third_party/trace_event/trace_event.h @@ -587,7 +587,7 @@ const unsigned long long noEventId = 0; class TraceID { public: explicit TraceID(const void* id, unsigned char* flags) : - m_data(static_cast<unsigned long long>(reinterpret_cast<unsigned long>(id))) + m_data(static_cast<unsigned long long>(reinterpret_cast<uintptr_t>(id))) { *flags |= TRACE_EVENT_FLAG_MANGLE_ID; } @@ -788,37 +788,6 @@ private: Data m_data; }; -// TraceEventSamplingStateScope records the current sampling state -// and sets a new sampling state. When the scope exists, it restores -// the sampling state having recorded. -template<size_t BucketNumber> -class SamplingStateScope { -public: - SamplingStateScope(const char* categoryAndName) - { - m_previousState = SamplingStateScope<BucketNumber>::current(); - SamplingStateScope<BucketNumber>::set(categoryAndName); - } - - ~SamplingStateScope() - { - SamplingStateScope<BucketNumber>::set(m_previousState); - } - - // FIXME: Make load/store to traceSamplingState[] thread-safe and atomic. - static inline const char* current() - { - return reinterpret_cast<const char*>(*gl::traceSamplingState[BucketNumber]); - } - static inline void set(const char* categoryAndName) - { - *gl::traceSamplingState[BucketNumber] = reinterpret_cast<long>(const_cast<char*>(categoryAndName)); - } - -private: - const char* m_previousState; -}; - } // namespace TraceEvent } // namespace gl diff --git a/src/translator.target.darwin-arm.mk b/src/translator.target.darwin-arm.mk index 4c178030..acdefdf9 100644 --- a/src/translator.target.darwin-arm.mk +++ b/src/translator.target.darwin-arm.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -87,12 +88,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -112,10 +107,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -194,12 +186,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -219,10 +205,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -246,10 +229,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.darwin-arm64.mk b/src/translator.target.darwin-arm64.mk index ff3fb60d..fae67e56 100644 --- a/src/translator.target.darwin-arm64.mk +++ b/src/translator.target.darwin-arm64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -76,12 +77,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -101,10 +96,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -171,12 +163,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -196,10 +182,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -222,10 +205,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.darwin-mips.mk b/src/translator.target.darwin-mips.mk index 2336fd6a..6980c077 100644 --- a/src/translator.target.darwin-mips.mk +++ b/src/translator.target.darwin-mips.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -80,12 +81,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -105,10 +100,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -180,12 +172,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -205,10 +191,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -232,10 +215,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.darwin-x86.mk b/src/translator.target.darwin-x86.mk index cc1f7a5c..8901ed0c 100644 --- a/src/translator.target.darwin-x86.mk +++ b/src/translator.target.darwin-x86.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -82,12 +83,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -107,10 +102,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -183,12 +175,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -208,10 +194,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -234,10 +217,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.darwin-x86_64.mk b/src/translator.target.darwin-x86_64.mk index 6231b0e6..94fa4dbc 100644 --- a/src/translator.target.darwin-x86_64.mk +++ b/src/translator.target.darwin-x86_64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -81,12 +82,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -106,10 +101,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -181,12 +173,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -206,10 +192,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -232,10 +215,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.linux-arm.mk b/src/translator.target.linux-arm.mk index 4c178030..acdefdf9 100644 --- a/src/translator.target.linux-arm.mk +++ b/src/translator.target.linux-arm.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -87,12 +88,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -112,10 +107,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -194,12 +186,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -219,10 +205,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -246,10 +229,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.linux-arm64.mk b/src/translator.target.linux-arm64.mk index ff3fb60d..fae67e56 100644 --- a/src/translator.target.linux-arm64.mk +++ b/src/translator.target.linux-arm64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -76,12 +77,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -101,10 +96,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -171,12 +163,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -196,10 +182,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -222,10 +205,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.linux-mips.mk b/src/translator.target.linux-mips.mk index 2336fd6a..6980c077 100644 --- a/src/translator.target.linux-mips.mk +++ b/src/translator.target.linux-mips.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -80,12 +81,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -105,10 +100,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -180,12 +172,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -205,10 +191,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -232,10 +215,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.linux-x86.mk b/src/translator.target.linux-x86.mk index cc1f7a5c..8901ed0c 100644 --- a/src/translator.target.linux-x86.mk +++ b/src/translator.target.linux-x86.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -82,12 +83,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -107,10 +102,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -183,12 +175,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -208,10 +194,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -234,10 +217,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator.target.linux-x86_64.mk b/src/translator.target.linux-x86_64.mk index 6231b0e6..94fa4dbc 100644 --- a/src/translator.target.linux-x86_64.mk +++ b/src/translator.target.linux-x86_64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -81,12 +82,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -106,10 +101,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -181,12 +173,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_IMPLEMENTATION' \ @@ -206,10 +192,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -232,10 +215,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.darwin-arm.mk b/src/translator_lib.target.darwin-arm.mk index 1b8295bc..ab1c51cd 100644 --- a/src/translator_lib.target.darwin-arm.mk +++ b/src/translator_lib.target.darwin-arm.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -150,12 +152,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -175,10 +171,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -257,12 +250,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -282,10 +269,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -309,10 +293,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.darwin-arm64.mk b/src/translator_lib.target.darwin-arm64.mk index fe67a646..9dbca7e4 100644 --- a/src/translator_lib.target.darwin-arm64.mk +++ b/src/translator_lib.target.darwin-arm64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -139,12 +141,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -164,10 +160,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -234,12 +227,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -259,10 +246,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -285,10 +269,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.darwin-mips.mk b/src/translator_lib.target.darwin-mips.mk index a8ba23e3..a7746b11 100644 --- a/src/translator_lib.target.darwin-mips.mk +++ b/src/translator_lib.target.darwin-mips.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -143,12 +145,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -168,10 +164,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -243,12 +236,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -268,10 +255,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -295,10 +279,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.darwin-x86.mk b/src/translator_lib.target.darwin-x86.mk index 937c6c36..04d7cdd4 100644 --- a/src/translator_lib.target.darwin-x86.mk +++ b/src/translator_lib.target.darwin-x86.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -145,12 +147,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -170,10 +166,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -246,12 +239,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -271,10 +258,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -297,10 +281,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.darwin-x86_64.mk b/src/translator_lib.target.darwin-x86_64.mk index 5d1d2b0b..18eb81b1 100644 --- a/src/translator_lib.target.darwin-x86_64.mk +++ b/src/translator_lib.target.darwin-x86_64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -144,12 +146,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -169,10 +165,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -244,12 +237,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -269,10 +256,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -295,10 +279,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.linux-arm.mk b/src/translator_lib.target.linux-arm.mk index 1b8295bc..ab1c51cd 100644 --- a/src/translator_lib.target.linux-arm.mk +++ b/src/translator_lib.target.linux-arm.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -150,12 +152,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -175,10 +171,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -257,12 +250,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -282,10 +269,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -309,10 +293,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.linux-arm64.mk b/src/translator_lib.target.linux-arm64.mk index fe67a646..9dbca7e4 100644 --- a/src/translator_lib.target.linux-arm64.mk +++ b/src/translator_lib.target.linux-arm64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -139,12 +141,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -164,10 +160,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -234,12 +227,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -259,10 +246,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -285,10 +269,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.linux-mips.mk b/src/translator_lib.target.linux-mips.mk index a8ba23e3..a7746b11 100644 --- a/src/translator_lib.target.linux-mips.mk +++ b/src/translator_lib.target.linux-mips.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -143,12 +145,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -168,10 +164,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -243,12 +236,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -268,10 +255,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -295,10 +279,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.linux-x86.mk b/src/translator_lib.target.linux-x86.mk index 937c6c36..04d7cdd4 100644 --- a/src/translator_lib.target.linux-x86.mk +++ b/src/translator_lib.target.linux-x86.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -145,12 +147,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -170,10 +166,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -246,12 +239,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -271,10 +258,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -297,10 +281,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/src/translator_lib.target.linux-x86_64.mk b/src/translator_lib.target.linux-x86_64.mk index 5d1d2b0b..18eb81b1 100644 --- a/src/translator_lib.target.linux-x86_64.mk +++ b/src/translator_lib.target.linux-x86_64.mk @@ -6,6 +6,7 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_MODULE := third_party_angle_src_translator_lib_gyp LOCAL_MODULE_SUFFIX := .a LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH) +LOCAL_SDK_VERSION := 21 gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX)) gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX)) @@ -23,6 +24,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := LOCAL_SRC_FILES := \ third_party/angle/src/common/RefCountObject.cpp \ + third_party/angle/src/common/angleutils.cpp \ third_party/angle/src/common/blocklayout.cpp \ third_party/angle/src/common/debug.cpp \ third_party/angle/src/common/event_tracer.cpp \ @@ -144,12 +146,6 @@ MY_DEFS_Debug := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -169,10 +165,7 @@ MY_DEFS_Debug := \ LOCAL_C_INCLUDES_Debug := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -244,12 +237,6 @@ MY_DEFS_Release := \ '-DCLD_VERSION=1' \ '-DENABLE_PRINTING=1' \ '-DENABLE_MANAGED_USERS=1' \ - '-DDATA_REDUCTION_FALLBACK_HOST="http://compress.googlezip.net:80/"' \ - '-DDATA_REDUCTION_DEV_HOST="https://proxy-dev.googlezip.net:443/"' \ - '-DDATA_REDUCTION_DEV_FALLBACK_HOST="http://proxy-dev.googlezip.net:80/"' \ - '-DSPDY_PROXY_AUTH_ORIGIN="https://proxy.googlezip.net:443/"' \ - '-DDATA_REDUCTION_PROXY_PROBE_URL="http://check.googlezip.net/connect"' \ - '-DDATA_REDUCTION_PROXY_WARMUP_URL="http://www.gstatic.com/generate_204"' \ '-DVIDEO_HOLE=1' \ '-DENABLE_LOAD_COMPLETION_HACKS=1' \ '-DANGLE_TRANSLATOR_STATIC' \ @@ -269,10 +256,7 @@ MY_DEFS_Release := \ LOCAL_C_INCLUDES_Release := \ $(gyp_shared_intermediate_dir) \ $(LOCAL_PATH)/third_party/angle/src \ - $(LOCAL_PATH)/third_party/angle/include \ - $(PWD)/frameworks/wilhelm/include \ - $(PWD)/bionic \ - $(PWD)/external/stlport/stlport + $(LOCAL_PATH)/third_party/angle/include # Flags passed to only C++ (and not C) files. @@ -295,10 +279,9 @@ LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CO LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) LOCAL_ASFLAGS := $(LOCAL_CFLAGS) ### Rules for final target. - -LOCAL_SHARED_LIBRARIES := \ - libstlport \ - libdl +### Set directly by aosp_build_settings. +LOCAL_CLANG := false +LOCAL_NDK_STL_VARIANT := stlport_static # Add target alias to "gyp_all_modules" target. .PHONY: gyp_all_modules diff --git a/tests/angle_implementation_unit_tests/CoreWindowNativeWindow_unittest.cpp b/tests/angle_implementation_unit_tests/CoreWindowNativeWindow_unittest.cpp new file mode 100644 index 00000000..5e32a4e9 --- /dev/null +++ b/tests/angle_implementation_unit_tests/CoreWindowNativeWindow_unittest.cpp @@ -0,0 +1,233 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +// WINAPI_FAMILY is required to be defined as WINAPI_FAMILY_PC_APP +// to ensure that the proper defines are set when including additional +// headers which rely on Windows Store specific configuration. +// This would normally be defined already but this unittest exe is compiled +// as a desktop application which results in WINAPI_FAMILY being +// set to WINAPI_FAMILY_DESKTOP_APP +#undef WINAPI_FAMILY +#define WINAPI_FAMILY WINAPI_FAMILY_PC_APP +#include "common/nativewindow.h" +#include <angle_windowsstore.h> + +using namespace rx; +using namespace ABI::Windows::ApplicationModel::Core; +using namespace ABI::Windows::Foundation; +using namespace ABI::Windows::Foundation::Collections; +using namespace ABI::Windows::UI::Core; +using namespace ABI::Windows::System; + +namespace +{ + +// Mock Generic interfaces which are NOT ICoreWindow or +// IPropertySet +MIDL_INTERFACE("A4D67D0A-0E7F-4DF7-918B-7A1395413AF2") +IAmInspectable : public IInspectable +{ +}; + +class GenericIInspectable : public RuntimeClass < + RuntimeClassFlags<WinRtClassicComMix>, + IAmInspectable > +{ +}; + +MIDL_INTERFACE("3CBCFE7A-E000-4094-B2D2-B7C9A4D67A2C") +IAmUnknown : public IUnknown +{ +}; + +class GenericIUnknown : public RuntimeClass < + RuntimeClassFlags<ClassicCom>, + IAmUnknown > +{ +}; + +// Mock ICoreWindow +class MockCoreWindow : public ABI::Windows::UI::Core::ICoreWindow +{ +public: + // IUnknown + STDMETHOD(QueryInterface)(REFIID riid, void** ppvObject) + { + *ppvObject = NULL; + + if (IsEqualIID(IID_IUnknown, riid)) + { + *ppvObject = static_cast<IUnknown*>(this); + return S_OK; + } + + if (IsEqualIID(IID_IInspectable, riid)) + { + *ppvObject = static_cast<IInspectable*>(this); + return S_OK; + } + + if (IsEqualIID(IID_ICoreWindow, riid)) + { + *ppvObject = static_cast<ABI::Windows::UI::Core::ICoreWindow*>(this); + return S_OK; + } + + return E_NOINTERFACE; + } + + STDMETHOD_(ULONG, AddRef)(){ return 1; } + STDMETHOD_(ULONG, Release)(){ return 1; } + + // IInspectable + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, GetIids, HRESULT(ULONG *, IID**)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, GetRuntimeClassName, HRESULT(HSTRING *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, GetTrustLevel, HRESULT(TrustLevel *)); + + // ICoreWindow + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_AutomationHostProvider, HRESULT(IInspectable **)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_Bounds, HRESULT(Rect *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_CustomProperties, HRESULT(IPropertySet **)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_Dispatcher, HRESULT(ICoreDispatcher **)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_FlowDirection, HRESULT(CoreWindowFlowDirection *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, put_FlowDirection, HRESULT(CoreWindowFlowDirection)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_IsInputEnabled, HRESULT(boolean *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, put_IsInputEnabled, HRESULT(boolean)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_PointerCursor, HRESULT(ICoreCursor**)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, put_PointerCursor, HRESULT(ICoreCursor*)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_PointerPosition, HRESULT(Point*)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, get_Visible, HRESULT(boolean *)); + MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, Activate, HRESULT()); + MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, Close , HRESULT()); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, GetAsyncKeyState, HRESULT(ABI::Windows::System::VirtualKey, ABI::Windows::UI::Core::CoreVirtualKeyStates*)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, GetKeyState, HRESULT(ABI::Windows::System::VirtualKey, ABI::Windows::UI::Core::CoreVirtualKeyStates*)); + MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, ReleasePointerCapture, HRESULT()); + MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, SetPointerCapture, HRESULT()); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_Activated, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CWindowActivatedEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_Activated, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_AutomationProviderRequested, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CAutomationProviderRequestedEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_AutomationProviderRequested, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_CharacterReceived, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CCharacterReceivedEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_CharacterReceived, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_Closed, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CCoreWindowEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_Closed, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_InputEnabled, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CInputEnabledEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_InputEnabled, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_KeyDown, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CKeyEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_KeyDown, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_KeyUp, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CKeyEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_KeyUp, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerCaptureLost, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerCaptureLost, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerEntered, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerEntered, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerExited, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerExited, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerMoved, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerMoved, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerPressed, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerPressed, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerReleased, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerReleased, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_TouchHitTesting, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CTouchHitTestingEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_TouchHitTesting, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_PointerWheelChanged, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CPointerEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_PointerWheelChanged, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_SizeChanged, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CWindowSizeChangedEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_SizeChanged, HRESULT(EventRegistrationToken)); + MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, add_VisibilityChanged, HRESULT(__FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CVisibilityChangedEventArgs*, EventRegistrationToken *)); + MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, remove_VisibilityChanged, HRESULT(EventRegistrationToken)); +}; + +HRESULT CreatePropertyMap(IMap<HSTRING, IInspectable*>** propertyMap) +{ + HRESULT result = S_OK; + ComPtr<IPropertySet> propertySet; + ComPtr<IActivationFactory> propertySetFactory; + result = GetActivationFactory(HStringReference(RuntimeClass_Windows_Foundation_Collections_PropertySet).Get(), &propertySetFactory); + EXPECT_HRESULT_SUCCEEDED(result); + + result = propertySetFactory->ActivateInstance(&propertySet); + EXPECT_HRESULT_SUCCEEDED(result); + + result = propertySet.CopyTo(propertyMap); + EXPECT_HRESULT_SUCCEEDED(result); + + return result; +} + +HRESULT SetInspectablePropertyValue(const ComPtr<IMap<HSTRING, IInspectable*>>& propertyMap, const wchar_t* propertyName, IInspectable* inspectable) +{ + boolean propertyReplaced = false; + return propertyMap->Insert(HStringReference(propertyName).Get(), inspectable, &propertyReplaced); +} + +TEST(NativeWindowTest, NativeWindowNull) +{ + NativeWindow nativeWindow(nullptr); + EXPECT_FALSE(nativeWindow.initialize()); +} + +TEST(NativeWindowTest, NativeWindowBadInspectable) +{ + ComPtr<IAmInspectable> notCoreWindow = Make<GenericIInspectable>(); + NativeWindow nativeWindow(notCoreWindow.Get()); + EXPECT_FALSE(nativeWindow.initialize()); +} + +TEST(NativeWindowTest, NativeWindowNotInspectable) +{ + ComPtr<IAmUnknown> notIInspectable = Make<GenericIUnknown>(); + NativeWindow nativeWindow((IInspectable*)notIInspectable.Get()); + EXPECT_FALSE(nativeWindow.initialize()); +} + +TEST(NativeWindowTest, NativeWindowValidCoreWindow) +{ + MockCoreWindow mockCoreWindow; + EXPECT_CALL(mockCoreWindow, get_Bounds(testing::_)).Times(1); + EXPECT_CALL(mockCoreWindow, add_SizeChanged(testing::_, testing::_)).Times(1); + EXPECT_CALL(mockCoreWindow, remove_SizeChanged(testing::_)).Times(1); + NativeWindow nativeWindow(&mockCoreWindow); + EXPECT_TRUE(nativeWindow.initialize()); +} + +TEST(NativeWindowTest, NativeWindowValidCoreWindowInPropertySet) +{ + // COM is required to be initialized for creation of the property set + EXPECT_HRESULT_SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)); + { + MockCoreWindow mockCoreWindow; + ComPtr<IMap<HSTRING, IInspectable*>> propertySet; + EXPECT_CALL(mockCoreWindow, get_Bounds(testing::_)).Times(1); + EXPECT_CALL(mockCoreWindow, add_SizeChanged(testing::_, testing::_)).Times(1); + EXPECT_CALL(mockCoreWindow, remove_SizeChanged(testing::_)).Times(1); + EXPECT_HRESULT_SUCCEEDED(CreatePropertyMap(&propertySet)); + EXPECT_HRESULT_SUCCEEDED(SetInspectablePropertyValue(propertySet, EGLNativeWindowTypeProperty, &mockCoreWindow)); + NativeWindow nativeWindow(propertySet.Get()); + EXPECT_TRUE(nativeWindow.initialize()); + } + CoUninitialize(); +} + +TEST(NativeWindowTest, NativeWindowMissingCoreWindowInPropertySet) +{ + // COM is required to be initialized for creation of the property set + EXPECT_HRESULT_SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED)); + { + MockCoreWindow mockCoreWindow; + ComPtr<IMap<HSTRING, IInspectable*>> propertySet; + EXPECT_HRESULT_SUCCEEDED(CreatePropertyMap(&propertySet)); + NativeWindow nativeWindow(propertySet.Get()); + EXPECT_FALSE(nativeWindow.initialize()); + } + CoUninitialize(); +} + +} // namespace diff --git a/tests/angle_implementation_unit_tests/Fence_unittest.cpp b/tests/angle_implementation_unit_tests/Fence_unittest.cpp new file mode 100644 index 00000000..27596a06 --- /dev/null +++ b/tests/angle_implementation_unit_tests/Fence_unittest.cpp @@ -0,0 +1,162 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#include "gmock/gmock.h" +#include "gtest/gtest.h" +#include "libGLESv2/Fence.h" +#include "libGLESv2/renderer/FenceImpl.h" + +using ::testing::_; +using ::testing::Return; +using ::testing::SetArgumentPointee; + +namespace { + +// +// FenceNV tests +// + +class MockFenceNVImpl : public rx::FenceNVImpl +{ + public: + virtual ~MockFenceNVImpl() { destroy(); } + + MOCK_METHOD0(set, gl::Error()); + MOCK_METHOD2(test, gl::Error(bool, GLboolean *)); + MOCK_METHOD1(finishFence, gl::Error(GLboolean *)); + + MOCK_METHOD0(destroy, void()); +}; + +class FenceNVTest : public testing::Test +{ + protected: + virtual void SetUp() + { + mImpl = new MockFenceNVImpl; + EXPECT_CALL(*mImpl, destroy()); + mFence = new gl::FenceNV(mImpl); + } + + virtual void TearDown() + { + delete mFence; + } + + MockFenceNVImpl *mImpl; + gl::FenceNV* mFence; +}; + +TEST_F(FenceNVTest, DestructionDeletesImpl) +{ + MockFenceNVImpl* impl = new MockFenceNVImpl; + EXPECT_CALL(*impl, destroy()).Times(1).RetiresOnSaturation(); + + gl::FenceNV* fence = new gl::FenceNV(impl); + delete fence; + + // Only needed because the mock is leaked if bugs are present, + // which logs an error, but does not cause the test to fail. + // Ordinarily mocks are verified when destroyed. + testing::Mock::VerifyAndClear(impl); +} + +TEST_F(FenceNVTest, SetAndTestBehavior) +{ + EXPECT_CALL(*mImpl, set()) + .WillOnce(Return(gl::Error(GL_NO_ERROR))) + .RetiresOnSaturation(); + EXPECT_EQ(GL_FALSE, mFence->isFence()); + mFence->setFence(GL_ALL_COMPLETED_NV); + EXPECT_EQ(GL_TRUE, mFence->isFence()); + // Fake the behavior of testing the fence before and after it's passed. + EXPECT_CALL(*mImpl, test(_, _)) + .WillOnce(DoAll(SetArgumentPointee<1>(GL_FALSE), + Return(gl::Error(GL_NO_ERROR)))) + .WillOnce(DoAll(SetArgumentPointee<1>(GL_TRUE), + Return(gl::Error(GL_NO_ERROR)))) + .RetiresOnSaturation(); + GLboolean out; + mFence->testFence(&out); + EXPECT_EQ(GL_FALSE, out); + mFence->testFence(&out); + EXPECT_EQ(GL_TRUE, out); +} + +// +// FenceSync tests +// + +class MockFenceSyncImpl : public rx::FenceSyncImpl +{ + public: + virtual ~MockFenceSyncImpl() { destroy(); } + + MOCK_METHOD0(set, gl::Error()); + MOCK_METHOD3(clientWait, gl::Error(GLbitfield, GLuint64, GLenum *)); + MOCK_METHOD2(serverWait, gl::Error(GLbitfield, GLuint64)); + MOCK_METHOD1(getStatus, gl::Error(GLint *)); + + MOCK_METHOD0(destroy, void()); +}; + +class FenceSyncTest : public testing::Test +{ + protected: + virtual void SetUp() + { + mImpl = new MockFenceSyncImpl; + EXPECT_CALL(*mImpl, destroy()); + mFence = new gl::FenceSync(mImpl, 1); + mFence->addRef(); + } + + virtual void TearDown() + { + mFence->release(); + } + + MockFenceSyncImpl *mImpl; + gl::FenceSync* mFence; +}; + +TEST_F(FenceSyncTest, DestructionDeletesImpl) +{ + MockFenceSyncImpl* impl = new MockFenceSyncImpl; + EXPECT_CALL(*impl, destroy()).Times(1).RetiresOnSaturation(); + + gl::FenceSync* fence = new gl::FenceSync(impl, 1); + fence->addRef(); + fence->release(); + + // Only needed because the mock is leaked if bugs are present, + // which logs an error, but does not cause the test to fail. + // Ordinarily mocks are verified when destroyed. + testing::Mock::VerifyAndClear(impl); +} + +TEST_F(FenceSyncTest, SetAndGetStatusBehavior) +{ + EXPECT_CALL(*mImpl, set()) + .WillOnce(Return(gl::Error(GL_NO_ERROR))) + .RetiresOnSaturation(); + mFence->set(GL_SYNC_GPU_COMMANDS_COMPLETE); + EXPECT_EQ(GL_SYNC_GPU_COMMANDS_COMPLETE, mFence->getCondition()); + // Fake the behavior of testing the fence before and after it's passed. + EXPECT_CALL(*mImpl, getStatus(_)) + .WillOnce(DoAll(SetArgumentPointee<0>(GL_UNSIGNALED), + Return(gl::Error(GL_NO_ERROR)))) + .WillOnce(DoAll(SetArgumentPointee<0>(GL_SIGNALED), + Return(gl::Error(GL_NO_ERROR)))) + .RetiresOnSaturation(); + GLint out; + mFence->getStatus(&out); + EXPECT_EQ(GL_UNSIGNALED, out); + mFence->getStatus(&out); + EXPECT_EQ(GL_SIGNALED, out); +} + +} // namespace diff --git a/tests/angle_implementation_unit_tests/ImageIndexIterator_unittest.cpp b/tests/angle_implementation_unit_tests/ImageIndexIterator_unittest.cpp new file mode 100644 index 00000000..fafe944e --- /dev/null +++ b/tests/angle_implementation_unit_tests/ImageIndexIterator_unittest.cpp @@ -0,0 +1,113 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#include "gmock/gmock.h" +#include "gtest/gtest.h" +#include "libGLESv2/ImageIndex.h" +#include "libGLESv2/Texture.h" + +using namespace gl; + +namespace +{ + +static const GLint minMip = 0; +static const GLint maxMip = 4; +static const GLint minLayer = 1; +static const GLint maxLayer = 3; + +TEST(ImageIndexTest, Iterator2D) +{ + ImageIndexIterator iter = ImageIndexIterator::Make2D(minMip, maxMip); + + ASSERT_GE(0, minMip); + + for (GLint mip = minMip; mip < maxMip; mip++) + { + EXPECT_TRUE(iter.hasNext()); + ImageIndex current = iter.current(); + ImageIndex nextIndex = iter.next(); + + EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D), nextIndex.type); + EXPECT_EQ(mip, nextIndex.mipIndex); + EXPECT_FALSE(nextIndex.hasLayer()); + + // Also test current + EXPECT_EQ(current.type, nextIndex.type); + EXPECT_EQ(current.mipIndex, nextIndex.mipIndex); + EXPECT_EQ(current.layerIndex, nextIndex.layerIndex); + } +} + +TEST(ImageIndexTest, IteratorCube) +{ + ImageIndexIterator iter = ImageIndexIterator::MakeCube(0, 4); + + ASSERT_GE(0, minMip); + + for (GLint mip = minMip; mip < maxMip; mip++) + { + for (GLint layer = 0; layer < 6; layer++) + { + EXPECT_TRUE(iter.hasNext()); + ImageIndex nextIndex = iter.next(); + + GLenum cubeTarget = TextureCubeMap::layerIndexToTarget(layer); + + EXPECT_EQ(cubeTarget, nextIndex.type); + EXPECT_EQ(mip, nextIndex.mipIndex); + EXPECT_EQ(layer, nextIndex.layerIndex); + EXPECT_TRUE(nextIndex.hasLayer()); + } + } +} + +TEST(ImageIndexTest, Iterator3D) +{ + ImageIndexIterator iter = ImageIndexIterator::Make3D(minMip, maxMip, minLayer, maxLayer); + + ASSERT_GE(0, minMip); + + for (GLint mip = minMip; mip < maxMip; mip++) + { + for (GLint layer = minLayer; layer < maxLayer; layer++) + { + EXPECT_TRUE(iter.hasNext()); + ImageIndex nextIndex = iter.next(); + + EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_3D), nextIndex.type); + EXPECT_EQ(mip, nextIndex.mipIndex); + EXPECT_EQ(layer, nextIndex.layerIndex); + EXPECT_TRUE(nextIndex.hasLayer()); + } + } +} + +TEST(ImageIndexTest, Iterator2DArray) +{ + GLsizei layerCounts[] = { 1, 3, 5, 2 }; + + ImageIndexIterator iter = ImageIndexIterator::Make2DArray(minMip, maxMip, layerCounts); + + ASSERT_GE(0, minMip); + ASSERT_EQ(ArraySize(layerCounts), static_cast<size_t>(maxMip)); + + for (GLint mip = minMip; mip < maxMip; mip++) + { + for (GLint layer = 0; layer < layerCounts[mip]; layer++) + { + EXPECT_TRUE(iter.hasNext()); + ImageIndex nextIndex = iter.next(); + + EXPECT_EQ(static_cast<GLenum>(GL_TEXTURE_2D_ARRAY), nextIndex.type); + EXPECT_EQ(mip, nextIndex.mipIndex); + EXPECT_EQ(layer, nextIndex.layerIndex); + EXPECT_TRUE(nextIndex.hasLayer()); + } + } +} + +} // namespace diff --git a/tests/angle_implementation_unit_tests/TransformFeedback_unittest.cpp b/tests/angle_implementation_unit_tests/TransformFeedback_unittest.cpp index 3b989c5a..da6e5272 100644 --- a/tests/angle_implementation_unit_tests/TransformFeedback_unittest.cpp +++ b/tests/angle_implementation_unit_tests/TransformFeedback_unittest.cpp @@ -67,7 +67,7 @@ TEST_F(TransformFeedbackTest, SideEffectsOfStartAndStop) EXPECT_CALL(*mImpl, begin(GL_TRIANGLES)); mFeedback->start(GL_TRIANGLES); EXPECT_EQ(GL_TRUE, mFeedback->isStarted()); - EXPECT_EQ(GL_TRIANGLES, mFeedback->getDrawMode()); + EXPECT_EQ(static_cast<GLenum>(GL_TRIANGLES), mFeedback->getDrawMode()); EXPECT_CALL(*mImpl, end()); mFeedback->stop(); EXPECT_EQ(GL_FALSE, mFeedback->isStarted()); diff --git a/tests/angle_implementation_unit_tests/angle_implementation_unit_tests.gypi b/tests/angle_implementation_unit_tests/angle_implementation_unit_tests.gypi index f1da32cf..8a40395a 100644 --- a/tests/angle_implementation_unit_tests/angle_implementation_unit_tests.gypi +++ b/tests/angle_implementation_unit_tests/angle_implementation_unit_tests.gypi @@ -5,9 +5,7 @@ { 'sources': [ - '<!@(python <(angle_path)/enumerate_files.py \ - -dirs <(angle_path)/tests/angle_implementation_unit_tests \ - -types *.cpp *.h \ - -excludes <(angle_path)/tests/angle_implementation_unit_tests/angle_implementation_unit_tests_main.cpp)' + 'ImageIndexIterator_unittest.cpp', + 'TransformFeedback_unittest.cpp' ], } diff --git a/tests/angle_tests/ANGLETest.cpp b/tests/angle_tests/ANGLETest.cpp index 1bed5e76..9c3d52b0 100644 --- a/tests/angle_tests/ANGLETest.cpp +++ b/tests/angle_tests/ANGLETest.cpp @@ -2,17 +2,25 @@ #include "EGLWindow.h" #include "OSWindow.h" -OSWindow *ANGLETest::mOSWindow = NULL; - -ANGLETest::ANGLETest() - : mEGLWindow(NULL) +ANGLETest::ANGLETest(EGLint glesMajorVersion, EGLint requestedRenderer) + : mEGLWindow(NULL), + mOSWindow(NULL) { - mEGLWindow = new EGLWindow(1280, 720, 2, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE); + mEGLWindow = new EGLWindow(1280, 720, glesMajorVersion, requestedRenderer); } void ANGLETest::SetUp() { - ResizeWindow(mEGLWindow->getWidth(), mEGLWindow->getHeight()); + if (!initTestWindow()) + { + FAIL() << "Failed to create ANGLE test window."; + } + + if (!resizeWindow(mEGLWindow->getWidth(), mEGLWindow->getHeight())) + { + FAIL() << "Failed to resize ANGLE test window."; + } + if (!createEGLContext()) { FAIL() << "egl context creation failed."; @@ -38,6 +46,11 @@ void ANGLETest::TearDown() exit(0); } } + + if (!destroyTestWindow()) + { + FAIL() << "ANGLE test window destruction failed."; + } } void ANGLETest::swapBuffers() @@ -90,9 +103,9 @@ GLuint ANGLETest::compileShader(GLenum type, const std::string &source) glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); std::vector<GLchar> infoLog(infoLogLength); - glGetShaderInfoLog(shader, infoLog.size(), NULL, infoLog.data()); + glGetShaderInfoLog(shader, infoLog.size(), NULL, &infoLog[0]); - std::cerr << "shader compilation failed: " << infoLog.data(); + std::cerr << "shader compilation failed: " << &infoLog[0]; glDeleteShader(shader); shader = 0; @@ -107,11 +120,6 @@ bool ANGLETest::extensionEnabled(const std::string &extName) return strstr(extString, extName.c_str()) != NULL; } -void ANGLETest::setClientVersion(int clientVersion) -{ - mEGLWindow->setClientVersion(clientVersion); -} - void ANGLETest::setWindowWidth(int width) { mEGLWindow->setWidth(width); @@ -188,7 +196,7 @@ bool ANGLETest::destroyEGLContext() return true; } -bool ANGLETest::InitTestWindow() +bool ANGLETest::initTestWindow() { mOSWindow = CreateOSWindow(); if (!mOSWindow->initialize("ANGLE_TEST", 128, 128)) @@ -196,12 +204,12 @@ bool ANGLETest::InitTestWindow() return false; } - mOSWindow->setVisible(true); + mOSWindow->setVisible(false); return true; } -bool ANGLETest::DestroyTestWindow() +bool ANGLETest::destroyTestWindow() { if (mOSWindow) { @@ -213,20 +221,12 @@ bool ANGLETest::DestroyTestWindow() return true; } -bool ANGLETest::ResizeWindow(int width, int height) +bool ANGLETest::resizeWindow(int width, int height) { return mOSWindow->resize(width, height); } -void ANGLETestEnvironment::SetUp() -{ - if (!ANGLETest::InitTestWindow()) - { - FAIL() << "Failed to create ANGLE test window."; - } -} - -void ANGLETestEnvironment::TearDown() +void ANGLETest::setWindowVisible(bool isVisible) { - ANGLETest::DestroyTestWindow(); + mOSWindow->setVisible(isVisible); } diff --git a/tests/angle_tests/ANGLETest.h b/tests/angle_tests/ANGLETest.h index c3de55cc..a6ea1402 100644 --- a/tests/angle_tests/ANGLETest.h +++ b/tests/angle_tests/ANGLETest.h @@ -17,6 +17,8 @@ #include "shared_utils.h" #include "shader_utils.h" +#include "testfixturetypes.h" + #define EXPECT_GL_ERROR(err) EXPECT_EQ((err), glGetError()) #define EXPECT_GL_NO_ERROR() EXPECT_GL_ERROR(GL_NO_ERROR) @@ -34,18 +36,28 @@ EXPECT_EQ((a), pixel[3]); \ } +#define EXPECT_PIXEL_NEAR(x, y, r, g, b, a, abs_error) \ +{ \ + GLubyte pixel[4]; \ + glReadPixels((x), (y), 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel); \ + EXPECT_GL_NO_ERROR(); \ + EXPECT_NEAR((r), pixel[0], abs_error); \ + EXPECT_NEAR((g), pixel[1], abs_error); \ + EXPECT_NEAR((b), pixel[2], abs_error); \ + EXPECT_NEAR((a), pixel[3], abs_error); \ +} + class EGLWindow; class OSWindow; class ANGLETest : public testing::Test { protected: - ANGLETest(); + ANGLETest(EGLint requestedRenderer, EGLint glesMajorVersion); public: - static bool InitTestWindow(); - static bool DestroyTestWindow(); - static bool ResizeWindow(int width, int height); + bool resizeWindow(int width, int height); + void setWindowVisible(bool isVisible); protected: virtual void SetUp(); @@ -57,7 +69,6 @@ class ANGLETest : public testing::Test static GLuint compileShader(GLenum type, const std::string &source); static bool extensionEnabled(const std::string &extName); - void setClientVersion(int clientVersion); void setWindowWidth(int width); void setWindowHeight(int height); void setConfigRedBits(int bits); @@ -74,19 +85,13 @@ class ANGLETest : public testing::Test bool isMultisampleEnabled() const; private: + bool initTestWindow(); + bool destroyTestWindow(); bool createEGLContext(); bool destroyEGLContext(); EGLWindow *mEGLWindow; - - static OSWindow *mOSWindow; -}; - -class ANGLETestEnvironment : public testing::Environment -{ - public: - virtual void SetUp(); - virtual void TearDown(); + OSWindow *mOSWindow; }; #endif // ANGLE_TESTS_ANGLE_TEST_H_ diff --git a/tests/angle_tests/BlendMinMaxTest.cpp b/tests/angle_tests/BlendMinMaxTest.cpp index c097e291..cd8e7403 100644 --- a/tests/angle_tests/BlendMinMaxTest.cpp +++ b/tests/angle_tests/BlendMinMaxTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D9>, TFT<Gles::Two, Rend::D3D11>> TestFixtureTypes; +TYPED_TEST_CASE(BlendMinMaxTest, TestFixtureTypes); + +template<typename T> class BlendMinMaxTest : public ANGLETest { protected: - BlendMinMaxTest() + BlendMinMaxTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -136,19 +141,19 @@ protected: GLuint mColorRenderbuffer; }; -TEST_F(BlendMinMaxTest, RGBA8) +TYPED_TEST(BlendMinMaxTest, RGBA8) { SetUpFramebuffer(GL_RGBA8); runTest(); } -TEST_F(BlendMinMaxTest, RGBA32f) +TYPED_TEST(BlendMinMaxTest, RGBA32f) { SetUpFramebuffer(GL_RGBA32F); runTest(); } -TEST_F(BlendMinMaxTest, RGBA16F) +TYPED_TEST(BlendMinMaxTest, RGBA16F) { SetUpFramebuffer(GL_RGBA16F); runTest(); diff --git a/tests/angle_tests/BlitFramebufferANGLETest.cpp b/tests/angle_tests/BlitFramebufferANGLETest.cpp index 7b1339fe..1f4b23da 100644 --- a/tests/angle_tests/BlitFramebufferANGLETest.cpp +++ b/tests/angle_tests/BlitFramebufferANGLETest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(BlitFramebufferANGLETest, TestFixtureTypes); + +template<typename T> class BlitFramebufferANGLETest : public ANGLETest { protected: - BlitFramebufferANGLETest() + BlitFramebufferANGLETest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(256); setWindowHeight(256); @@ -302,7 +307,7 @@ protected: }; // Draw to user-created framebuffer, blit whole-buffer color to original framebuffer. -TEST_F(BlitFramebufferANGLETest, BlitColorToDefault) +TYPED_TEST(BlitFramebufferANGLETest, BlitColorToDefault) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -329,7 +334,7 @@ TEST_F(BlitFramebufferANGLETest, BlitColorToDefault) } // Draw to system framebuffer, blit whole-buffer color to user-created framebuffer. -TEST_F(BlitFramebufferANGLETest, ReverseColorBlit) +TYPED_TEST(BlitFramebufferANGLETest, ReverseColorBlit) { glBindFramebuffer(GL_FRAMEBUFFER, mOriginalFBO); @@ -356,7 +361,7 @@ TEST_F(BlitFramebufferANGLETest, ReverseColorBlit) } // blit from user-created FBO to system framebuffer, with the scissor test enabled. -TEST_F(BlitFramebufferANGLETest, ScissoredBlit) +TYPED_TEST(BlitFramebufferANGLETest, ScissoredBlit) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -391,7 +396,7 @@ TEST_F(BlitFramebufferANGLETest, ScissoredBlit) } // blit from system FBO to user-created framebuffer, with the scissor test enabled. -TEST_F(BlitFramebufferANGLETest, ReverseScissoredBlit) +TYPED_TEST(BlitFramebufferANGLETest, ReverseScissoredBlit) { glBindFramebuffer(GL_FRAMEBUFFER, mOriginalFBO); @@ -426,7 +431,7 @@ TEST_F(BlitFramebufferANGLETest, ReverseScissoredBlit) } // blit from user-created FBO to system framebuffer, using region larger than buffer. -TEST_F(BlitFramebufferANGLETest, OversizedBlit) +TYPED_TEST(BlitFramebufferANGLETest, OversizedBlit) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -456,7 +461,7 @@ TEST_F(BlitFramebufferANGLETest, OversizedBlit) } // blit from system FBO to user-created framebuffer, using region larger than buffer. -TEST_F(BlitFramebufferANGLETest, ReverseOversizedBlit) +TYPED_TEST(BlitFramebufferANGLETest, ReverseOversizedBlit) { glBindFramebuffer(GL_FRAMEBUFFER, mOriginalFBO); @@ -485,7 +490,7 @@ TEST_F(BlitFramebufferANGLETest, ReverseOversizedBlit) } // blit from user-created FBO to system framebuffer, with depth buffer. -TEST_F(BlitFramebufferANGLETest, BlitWithDepth) +TYPED_TEST(BlitFramebufferANGLETest, BlitWithDepth) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -522,7 +527,7 @@ TEST_F(BlitFramebufferANGLETest, BlitWithDepth) } // blit from system FBO to user-created framebuffer, with depth buffer. -TEST_F(BlitFramebufferANGLETest, ReverseBlitWithDepth) +TYPED_TEST(BlitFramebufferANGLETest, ReverseBlitWithDepth) { glBindFramebuffer(GL_FRAMEBUFFER, mOriginalFBO); @@ -559,7 +564,7 @@ TEST_F(BlitFramebufferANGLETest, ReverseBlitWithDepth) } // blit from one region of the system fbo to another-- this should fail. -TEST_F(BlitFramebufferANGLETest, BlitSameBufferOriginal) +TYPED_TEST(BlitFramebufferANGLETest, BlitSameBufferOriginal) { glBindFramebuffer(GL_FRAMEBUFFER, mOriginalFBO); @@ -575,7 +580,7 @@ TEST_F(BlitFramebufferANGLETest, BlitSameBufferOriginal) } // blit from one region of the system fbo to another. -TEST_F(BlitFramebufferANGLETest, BlitSameBufferUser) +TYPED_TEST(BlitFramebufferANGLETest, BlitSameBufferUser) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -590,7 +595,7 @@ TEST_F(BlitFramebufferANGLETest, BlitSameBufferUser) EXPECT_GL_ERROR(GL_INVALID_OPERATION); } -TEST_F(BlitFramebufferANGLETest, BlitPartialColor) +TYPED_TEST(BlitFramebufferANGLETest, BlitPartialColor) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -619,7 +624,7 @@ TEST_F(BlitFramebufferANGLETest, BlitPartialColor) EXPECT_PIXEL_EQ( getWindowWidth() / 4, 3 * getWindowHeight() / 4, 255, 0, 0, 255); } -TEST_F(BlitFramebufferANGLETest, BlitDifferentSizes) +TYPED_TEST(BlitFramebufferANGLETest, BlitDifferentSizes) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -647,7 +652,7 @@ TEST_F(BlitFramebufferANGLETest, BlitDifferentSizes) EXPECT_GL_NO_ERROR(); } -TEST_F(BlitFramebufferANGLETest, BlitWithMissingAttachments) +TYPED_TEST(BlitFramebufferANGLETest, BlitWithMissingAttachments) { glBindFramebuffer(GL_FRAMEBUFFER, mColorOnlyFBO); @@ -685,7 +690,7 @@ TEST_F(BlitFramebufferANGLETest, BlitWithMissingAttachments) EXPECT_PIXEL_EQ( getWindowWidth() / 4, 3 * getWindowHeight() / 4, 0, 0, 255, 255); } -TEST_F(BlitFramebufferANGLETest, BlitStencil) +TYPED_TEST(BlitFramebufferANGLETest, BlitStencil) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -727,7 +732,7 @@ TEST_F(BlitFramebufferANGLETest, BlitStencil) } // make sure that attempting to blit a partial depth buffer issues an error -TEST_F(BlitFramebufferANGLETest, BlitPartialDepthStencil) +TYPED_TEST(BlitFramebufferANGLETest, BlitPartialDepthStencil) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -746,7 +751,7 @@ TEST_F(BlitFramebufferANGLETest, BlitPartialDepthStencil) } // Test blit with MRT framebuffers -TEST_F(BlitFramebufferANGLETest, BlitMRT) +TYPED_TEST(BlitFramebufferANGLETest, BlitMRT) { if (!extensionEnabled("GL_EXT_draw_buffers")) { @@ -794,7 +799,7 @@ TEST_F(BlitFramebufferANGLETest, BlitMRT) } // Make sure that attempts to stretch in a blit call issue an error -TEST_F(BlitFramebufferANGLETest, ErrorStretching) +TYPED_TEST(BlitFramebufferANGLETest, ErrorStretching) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -813,7 +818,7 @@ TEST_F(BlitFramebufferANGLETest, ErrorStretching) } // Make sure that attempts to flip in a blit call issue an error -TEST_F(BlitFramebufferANGLETest, ErrorFlipping) +TYPED_TEST(BlitFramebufferANGLETest, ErrorFlipping) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); @@ -831,7 +836,7 @@ TEST_F(BlitFramebufferANGLETest, ErrorFlipping) EXPECT_GL_ERROR(GL_INVALID_OPERATION); } -TEST_F(BlitFramebufferANGLETest, Errors) +TYPED_TEST(BlitFramebufferANGLETest, Errors) { glBindFramebuffer(GL_FRAMEBUFFER, mUserFBO); diff --git a/tests/angle_tests/BufferDataTest.cpp b/tests/angle_tests/BufferDataTest.cpp index c566a85b..b9266e1a 100644 --- a/tests/angle_tests/BufferDataTest.cpp +++ b/tests/angle_tests/BufferDataTest.cpp @@ -2,13 +2,15 @@ #include <cstdint> +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(BufferDataTest, TestFixtureTypes); + +template<typename T> class BufferDataTest : public ANGLETest { protected: - BufferDataTest() - : mBuffer(0), - mProgram(0), - mAttribLocation(-1) + BufferDataTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(16); setWindowHeight(16); @@ -17,6 +19,10 @@ class BufferDataTest : public ANGLETest setConfigBlueBits(8); setConfigAlphaBits(8); setConfigDepthBits(24); + + mBuffer = 0; + mProgram = 0; + mAttribLocation = -1; } virtual void SetUp() @@ -76,7 +82,7 @@ class BufferDataTest : public ANGLETest GLint mAttribLocation; }; -TEST_F(BufferDataTest, NULLData) +TYPED_TEST(BufferDataTest, NULLData) { glBindBuffer(GL_ARRAY_BUFFER, mBuffer); EXPECT_GL_NO_ERROR(); @@ -99,7 +105,7 @@ TEST_F(BufferDataTest, NULLData) } } -TEST_F(BufferDataTest, ZeroNonNULLData) +TYPED_TEST(BufferDataTest, ZeroNonNULLData) { glBindBuffer(GL_ARRAY_BUFFER, mBuffer); EXPECT_GL_NO_ERROR(); @@ -114,7 +120,7 @@ TEST_F(BufferDataTest, ZeroNonNULLData) delete [] zeroData; } -TEST_F(BufferDataTest, NULLResolvedData) +TYPED_TEST(BufferDataTest, NULLResolvedData) { glBindBuffer(GL_ARRAY_BUFFER, mBuffer); glBufferData(GL_ARRAY_BUFFER, 128, NULL, GL_DYNAMIC_DRAW); @@ -127,7 +133,7 @@ TEST_F(BufferDataTest, NULLResolvedData) drawQuad(mProgram, "position", 0.5f); } -TEST_F(BufferDataTest, HugeSetDataShouldNotCrash) +TYPED_TEST(BufferDataTest, HugeSetDataShouldNotCrash) { glBindBuffer(GL_ARRAY_BUFFER, mBuffer); EXPECT_GL_NO_ERROR(); @@ -196,10 +202,15 @@ TEST_F(BufferDataTest, HugeSetDataShouldNotCrash) delete[] data; } +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>> TestFixtureTypesIndexedBufferCopyTest; +TYPED_TEST_CASE(IndexedBufferCopyTest, TestFixtureTypesIndexedBufferCopyTest); + +template<typename T> class IndexedBufferCopyTest : public ANGLETest { protected: - IndexedBufferCopyTest() + IndexedBufferCopyTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(16); setWindowHeight(16); @@ -208,7 +219,6 @@ class IndexedBufferCopyTest : public ANGLETest setConfigBlueBits(8); setConfigAlphaBits(8); setConfigDepthBits(24); - setClientVersion(3); } virtual void SetUp() @@ -275,7 +285,7 @@ class IndexedBufferCopyTest : public ANGLETest // The following test covers an ANGLE bug where our index ranges // weren't updated from CopyBufferSubData calls // https://code.google.com/p/angleproject/issues/detail?id=709 -TEST_F(IndexedBufferCopyTest, IndexRangeBug) +TYPED_TEST(IndexedBufferCopyTest, IndexRangeBug) { unsigned char vertexData[] = { 255, 0, 0, 0, 0, 0 }; unsigned int indexData[] = { 0, 1 }; diff --git a/tests/angle_tests/ClearTest.cpp b/tests/angle_tests/ClearTest.cpp index a8c0476b..253cbdf0 100644 --- a/tests/angle_tests/ClearTest.cpp +++ b/tests/angle_tests/ClearTest.cpp @@ -1,9 +1,17 @@ #include "ANGLETest.h" -class ClearTest : public ANGLETest +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>, TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(ClearTest, TestFixtureTypes); + +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>> TestFixtureTypesES3; +TYPED_TEST_CASE(ClearTestES3, TestFixtureTypesES3); + +template<typename T> +class ClearTestBase : public ANGLETest { -protected: - ClearTest() + protected: + ClearTestBase() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -12,7 +20,6 @@ protected: setConfigBlueBits(8); setConfigAlphaBits(8); setConfigDepthBits(24); - setClientVersion(3); } virtual void SetUp() @@ -63,7 +70,15 @@ protected: GLuint mFBO; }; -TEST_F(ClearTest, ClearIssue) +template <typename T> +class ClearTest : public ClearTestBase<T> +{}; + +template <typename T> +class ClearTestES3 : public ClearTestBase<T> +{}; + +TYPED_TEST(ClearTest, ClearIssue) { glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); @@ -104,7 +119,7 @@ TEST_F(ClearTest, ClearIssue) // Requires ES3 // This tests a bug where in a masked clear when calling "ClearBuffer", we would // mistakenly clear every channel (including the masked-out ones) -TEST_F(ClearTest, MaskedClearBufferBug) +TYPED_TEST(ClearTestES3, MaskedClearBufferBug) { unsigned char pixelData[] = { 255, 255, 255, 255 }; @@ -141,7 +156,7 @@ TEST_F(ClearTest, MaskedClearBufferBug) glDeleteTextures(2, textures); } -TEST_F(ClearTest, BadFBOSerialBug) +TYPED_TEST(ClearTestES3, BadFBOSerialBug) { // First make a simple framebuffer, and clear it to green glBindFramebuffer(GL_FRAMEBUFFER, mFBO); diff --git a/tests/angle_tests/CompressedTextureTest.cpp b/tests/angle_tests/CompressedTextureTest.cpp index 7d959072..9b07e6cf 100644 --- a/tests/angle_tests/CompressedTextureTest.cpp +++ b/tests/angle_tests/CompressedTextureTest.cpp @@ -1,10 +1,15 @@ #include "ANGLETest.h" #include "media/pixel.inl" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(CompressedTextureTest, TestFixtureTypes); + +template<typename T> class CompressedTextureTest : public ANGLETest { protected: - CompressedTextureTest() + CompressedTextureTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(512); setWindowHeight(512); @@ -66,7 +71,7 @@ protected: GLint mTextureUniformLocation; }; -TEST_F(CompressedTextureTest, CompressedTexImage) +TYPED_TEST(CompressedTextureTest, CompressedTexImage) { if (getClientVersion() < 3 && !extensionEnabled("GL_EXT_texture_compression_dxt1")) { @@ -106,7 +111,7 @@ TEST_F(CompressedTextureTest, CompressedTexImage) EXPECT_GL_NO_ERROR(); } -TEST_F(CompressedTextureTest, CompressedTexStorage) +TYPED_TEST(CompressedTextureTest, CompressedTexStorage) { if (getClientVersion() < 3 && !extensionEnabled("GL_EXT_texture_compression_dxt1")) { diff --git a/tests/angle_tests/DepthStencilFormatsTest.cpp b/tests/angle_tests/DepthStencilFormatsTest.cpp index 56d5210a..4809b3cb 100644 --- a/tests/angle_tests/DepthStencilFormatsTest.cpp +++ b/tests/angle_tests/DepthStencilFormatsTest.cpp @@ -1,9 +1,17 @@ #include "ANGLETest.h" -class DepthStencilFormatsTest : public ANGLETest +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(DepthStencilFormatsTest, TestFixtureTypes); + +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>> TestFixtureTypesES3; +TYPED_TEST_CASE(DepthStencilFormatsTestES3, TestFixtureTypesES3); + +template<typename T> +class DepthStencilFormatsTestBase : public ANGLETest { -protected: - DepthStencilFormatsTest() + protected: + DepthStencilFormatsTestBase() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -11,7 +19,6 @@ protected: setConfigGreenBits(8); setConfigBlueBits(8); setConfigAlphaBits(8); - setClientVersion(2); } bool checkTexImageFormatSupport(GLenum format, GLenum type) @@ -56,15 +63,67 @@ protected: virtual void SetUp() { ANGLETest::SetUp(); + + const std::string vertexShaderSource = SHADER_SOURCE + ( + precision highp float; + attribute vec4 position; + varying vec2 texcoord; + + void main() + { + gl_Position = position; + texcoord = (position.xy * 0.5) + 0.5; + } + ); + + const std::string fragmentShaderSource = SHADER_SOURCE + ( + precision highp float; + uniform sampler2D tex; + varying vec2 texcoord; + + void main() + { + gl_FragColor = texture2D(tex, texcoord); + } + ); + + mProgram = CompileProgram(vertexShaderSource, fragmentShaderSource); + if (mProgram == 0) + { + FAIL() << "shader compilation failed."; + } + + mTextureUniformLocation = glGetUniformLocation(mProgram, "tex"); + EXPECT_NE(-1, mTextureUniformLocation); + + glGenTextures(1, &mTexture); + ASSERT_GL_NO_ERROR(); } virtual void TearDown() { + glDeleteProgram(mProgram); + glDeleteTextures(1, &mTexture); + ANGLETest::TearDown(); } + + GLuint mProgram; + GLuint mTexture; + GLint mTextureUniformLocation; }; -TEST_F(DepthStencilFormatsTest, DepthTexture) +template <typename T> +class DepthStencilFormatsTest : public DepthStencilFormatsTestBase<T> +{}; + +template <typename T> +class DepthStencilFormatsTestES3 : public DepthStencilFormatsTestBase<T> +{}; + +TYPED_TEST(DepthStencilFormatsTest, DepthTexture) { bool shouldHaveTextureSupport = extensionEnabled("GL_ANGLE_depth_texture"); EXPECT_EQ(shouldHaveTextureSupport, checkTexImageFormatSupport(GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT)); @@ -77,7 +136,7 @@ TEST_F(DepthStencilFormatsTest, DepthTexture) } } -TEST_F(DepthStencilFormatsTest, PackedDepthStencil) +TYPED_TEST(DepthStencilFormatsTest, PackedDepthStencil) { // Expected to fail in D3D9 if GL_OES_packed_depth_stencil is not present. // Expected to fail in D3D11 if GL_OES_packed_depth_stencil or GL_ANGLE_depth_texture is not present. @@ -94,3 +153,28 @@ TEST_F(DepthStencilFormatsTest, PackedDepthStencil) EXPECT_EQ(shouldHaveTextureSupport, checkTexStorageFormatSupport(GL_DEPTH24_STENCIL8_OES)); } } + +TYPED_TEST(DepthStencilFormatsTestES3, DrawWithDepthStencil) +{ + GLushort data[16]; + for (unsigned int i = 0; i < 16; i++) + { + data[i] = std::numeric_limits<GLushort>::max(); + } + glBindTexture(GL_TEXTURE_2D, mTexture); + glTexStorage2D(GL_TEXTURE_2D, 1, GL_DEPTH_COMPONENT16, 4, 4); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 4, 4, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, data); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + + glUseProgram(mProgram); + glUniform1i(mTextureUniformLocation, 0); + + glClear(GL_COLOR_BUFFER_BIT); + drawQuad(mProgram, "position", 0.5f); + + ASSERT_GL_NO_ERROR(); + + EXPECT_PIXEL_NEAR(0, 0, 255, 0, 0, 255, 2.0); +} diff --git a/tests/angle_tests/DrawBuffersTest.cpp b/tests/angle_tests/DrawBuffersTest.cpp index fdf2bdbb..39988230 100644 --- a/tests/angle_tests/DrawBuffersTest.cpp +++ b/tests/angle_tests/DrawBuffersTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>, TFT<Gles::Two, Rend::D3D11> > TestFixtureTypes; +TYPED_TEST_CASE(DrawBuffersTest, TestFixtureTypes); + +template<typename T> class DrawBuffersTest : public ANGLETest { protected: - DrawBuffersTest(int clientVersion) + DrawBuffersTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -12,13 +17,15 @@ class DrawBuffersTest : public ANGLETest setConfigBlueBits(8); setConfigAlphaBits(8); setConfigDepthBits(24); - setClientVersion(clientVersion); } virtual void SetUp() { ANGLETest::SetUp(); + // This test seems to fail on an nVidia machine when the window is hidden + setWindowVisible(true); + glGenFramebuffers(1, &mFBO); glBindFramebuffer(GL_FRAMEBUFFER, mFBO); @@ -190,140 +197,94 @@ class DrawBuffersTest : public ANGLETest EXPECT_PIXEL_EQ(getWindowWidth() / 2, getWindowHeight() / 2, r, g, b, 255); } - void gapsTest() - { - glBindTexture(GL_TEXTURE_2D, mTextures[0]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXTURE_2D, mTextures[0], 0); - - bool flags[8] = { false, true }; - - GLuint program; - setupMRTProgram(flags, &program); + GLuint mFBO; + GLuint mTextures[4]; + GLuint mBuffer; +}; - const GLenum bufs[] = - { - GL_NONE, - GL_COLOR_ATTACHMENT1 - }; - glUseProgram(program); - glDrawBuffersEXT(2, bufs); - glDrawArrays(GL_TRIANGLES, 0, 3); +TYPED_TEST(DrawBuffersTest, Gaps) +{ + glBindTexture(GL_TEXTURE_2D, mTextures[0]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXTURE_2D, mTextures[0], 0); - verifyAttachment(1, mTextures[0]); + bool flags[8] = { false, true }; - glDeleteProgram(program); - } + GLuint program; + setupMRTProgram(flags, &program); - void firstAndLastTest() + const GLenum bufs[] = { - glBindTexture(GL_TEXTURE_2D, mTextures[0]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTextures[0], 0); - - glBindTexture(GL_TEXTURE_2D, mTextures[1]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT3, GL_TEXTURE_2D, mTextures[1], 0); + GL_NONE, + GL_COLOR_ATTACHMENT1 + }; + glUseProgram(program); + glDrawBuffersEXT(2, bufs); + glDrawArrays(GL_TRIANGLES, 0, 3); - bool flags[8] = { true, false, false, true }; + verifyAttachment(1, mTextures[0]); - GLuint program; - setupMRTProgram(flags, &program); - - const GLenum bufs[] = - { - GL_COLOR_ATTACHMENT0, - GL_NONE, - GL_NONE, - GL_COLOR_ATTACHMENT3 - }; + glDeleteProgram(program); +} - glUseProgram(program); - glDrawBuffersEXT(4, bufs); - glDrawArrays(GL_TRIANGLES, 0, 3); +TYPED_TEST(DrawBuffersTest, FirstAndLast) +{ + glBindTexture(GL_TEXTURE_2D, mTextures[0]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTextures[0], 0); - verifyAttachment(0, mTextures[0]); - verifyAttachment(3, mTextures[1]); + glBindTexture(GL_TEXTURE_2D, mTextures[1]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT3, GL_TEXTURE_2D, mTextures[1], 0); - EXPECT_GL_NO_ERROR(); + bool flags[8] = { true, false, false, true }; - glDeleteProgram(program); - } + GLuint program; + setupMRTProgram(flags, &program); - void firstHalfNULLTest() + const GLenum bufs[] = { - bool flags[8] = { false }; - GLenum bufs[8] = { GL_NONE }; - - for (unsigned int texIndex = 0; texIndex < 4; texIndex++) - { - glBindTexture(GL_TEXTURE_2D, mTextures[texIndex]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT4 + texIndex, GL_TEXTURE_2D, mTextures[texIndex], 0); - flags[texIndex + 4] = true; - bufs[texIndex + 4] = GL_COLOR_ATTACHMENT4 + texIndex; - } + GL_COLOR_ATTACHMENT0, + GL_NONE, + GL_NONE, + GL_COLOR_ATTACHMENT3 + }; - GLuint program; - setupMRTProgram(flags, &program); + glUseProgram(program); + glDrawBuffersEXT(4, bufs); + glDrawArrays(GL_TRIANGLES, 0, 3); - glUseProgram(program); - glDrawBuffersEXT(8, bufs); - glDrawArrays(GL_TRIANGLES, 0, 3); + verifyAttachment(0, mTextures[0]); + verifyAttachment(3, mTextures[1]); - for (unsigned int texIndex = 0; texIndex < 4; texIndex++) - { - verifyAttachment(texIndex + 4, mTextures[texIndex]); - } - - EXPECT_GL_NO_ERROR(); + EXPECT_GL_NO_ERROR(); - glDeleteProgram(program); - } - - GLuint mFBO; - GLuint mTextures[4]; - GLuint mBuffer; -}; - -class DrawBuffersTestESSL3 : public DrawBuffersTest -{ - protected: - DrawBuffersTestESSL3() - : DrawBuffersTest(3) - {} -}; + glDeleteProgram(program); +} -class DrawBuffersTestESSL1 : public DrawBuffersTest +TYPED_TEST(DrawBuffersTest, FirstHalfNULL) { - protected: - DrawBuffersTestESSL1() - : DrawBuffersTest(2) - {} -}; + bool flags[8] = { false }; + GLenum bufs[8] = { GL_NONE }; -TEST_F(DrawBuffersTestESSL3, Gaps) -{ - gapsTest(); -} + for (unsigned int texIndex = 0; texIndex < 4; texIndex++) + { + glBindTexture(GL_TEXTURE_2D, mTextures[texIndex]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT4 + texIndex, GL_TEXTURE_2D, mTextures[texIndex], 0); + flags[texIndex + 4] = true; + bufs[texIndex + 4] = GL_COLOR_ATTACHMENT4 + texIndex; + } -TEST_F(DrawBuffersTestESSL1, Gaps) -{ - gapsTest(); -} + GLuint program; + setupMRTProgram(flags, &program); -TEST_F(DrawBuffersTestESSL3, FirstAndLast) -{ - firstAndLastTest(); -} + glUseProgram(program); + glDrawBuffersEXT(8, bufs); + glDrawArrays(GL_TRIANGLES, 0, 3); -TEST_F(DrawBuffersTestESSL1, FirstAndLast) -{ - firstAndLastTest(); -} + for (unsigned int texIndex = 0; texIndex < 4; texIndex++) + { + verifyAttachment(texIndex + 4, mTextures[texIndex]); + } -TEST_F(DrawBuffersTestESSL3, FirstHalfNULL) -{ - firstHalfNULLTest(); -} + EXPECT_GL_NO_ERROR(); -TEST_F(DrawBuffersTestESSL1, FirstHalfNULL) -{ - firstHalfNULLTest(); + glDeleteProgram(program); } diff --git a/tests/angle_tests/FramebufferFormatsTest.cpp b/tests/angle_tests/FramebufferFormatsTest.cpp index bffd4d17..b3f31a4b 100644 --- a/tests/angle_tests/FramebufferFormatsTest.cpp +++ b/tests/angle_tests/FramebufferFormatsTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(FramebufferFormatsTest, TestFixtureTypes); + +template<typename T> class FramebufferFormatsTest : public ANGLETest { protected: - FramebufferFormatsTest() + FramebufferFormatsTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -71,27 +76,27 @@ protected: } }; -TEST_F(FramebufferFormatsTest, RGBA4) +TYPED_TEST(FramebufferFormatsTest, RGBA4) { testTextureFormat(GL_RGBA4, 4, 4, 4, 4); } -TEST_F(FramebufferFormatsTest, RGB565) +TYPED_TEST(FramebufferFormatsTest, RGB565) { testTextureFormat(GL_RGB565, 5, 6, 5, 0); } -TEST_F(FramebufferFormatsTest, RGB8) +TYPED_TEST(FramebufferFormatsTest, RGB8) { testTextureFormat(GL_RGB8_OES, 8, 8, 8, 0); } -TEST_F(FramebufferFormatsTest, BGRA8) +TYPED_TEST(FramebufferFormatsTest, BGRA8) { testTextureFormat(GL_BGRA8_EXT, 8, 8, 8, 8); } -TEST_F(FramebufferFormatsTest, RGBA8) +TYPED_TEST(FramebufferFormatsTest, RGBA8) { testTextureFormat(GL_RGBA8_OES, 8, 8, 8, 8); } diff --git a/tests/angle_tests/GLSLTest.cpp b/tests/angle_tests/GLSLTest.cpp index dca8ac24..2e6bb8f0 100644 --- a/tests/angle_tests/GLSLTest.cpp +++ b/tests/angle_tests/GLSLTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(GLSLTest, TestFixtureTypes); + +template<typename T> class GLSLTest : public ANGLETest { protected: - GLSLTest() + GLSLTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -254,7 +259,7 @@ protected: std::string mSimpleVSSource; }; -TEST_F(GLSLTest, NamelessScopedStructs) +TYPED_TEST(GLSLTest, NamelessScopedStructs) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -275,7 +280,8 @@ TEST_F(GLSLTest, NamelessScopedStructs) GLuint program = CompileProgram(mSimpleVSSource, fragmentShaderSource); EXPECT_NE(0u, program); } -TEST_F(GLSLTest, ScopedStructsOrderBug) + +TYPED_TEST(GLSLTest, ScopedStructsOrderBug) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -307,7 +313,7 @@ TEST_F(GLSLTest, ScopedStructsOrderBug) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, ScopedStructsBug) +TYPED_TEST(GLSLTest, ScopedStructsBug) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -339,7 +345,7 @@ TEST_F(GLSLTest, ScopedStructsBug) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, DxPositionBug) +TYPED_TEST(GLSLTest, DxPositionBug) { const std::string &vertexShaderSource = SHADER_SOURCE ( @@ -368,7 +374,7 @@ TEST_F(GLSLTest, DxPositionBug) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, ElseIfRewriting) +TYPED_TEST(GLSLTest, ElseIfRewriting) { const std::string &vertexShaderSource = "attribute vec4 a_position;\n" @@ -403,7 +409,7 @@ TEST_F(GLSLTest, ElseIfRewriting) EXPECT_PIXEL_EQ(getWindowWidth()-1, 0, 0, 255, 0, 255); } -TEST_F(GLSLTest, TwoElseIfRewriting) +TYPED_TEST(GLSLTest, TwoElseIfRewriting) { const std::string &vertexShaderSource = "attribute vec4 a_position;\n" @@ -430,7 +436,7 @@ TEST_F(GLSLTest, TwoElseIfRewriting) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, InvariantVaryingOut) +TYPED_TEST(GLSLTest, InvariantVaryingOut) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -450,7 +456,7 @@ TEST_F(GLSLTest, InvariantVaryingOut) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, FrontFacingAndVarying) +TYPED_TEST(GLSLTest, FrontFacingAndVarying) { const std::string vertexShaderSource = SHADER_SOURCE ( @@ -487,7 +493,7 @@ TEST_F(GLSLTest, FrontFacingAndVarying) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, InvariantVaryingIn) +TYPED_TEST(GLSLTest, InvariantVaryingIn) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -507,7 +513,7 @@ TEST_F(GLSLTest, InvariantVaryingIn) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, InvariantVaryingBoth) +TYPED_TEST(GLSLTest, InvariantVaryingBoth) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -527,7 +533,7 @@ TEST_F(GLSLTest, InvariantVaryingBoth) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, InvariantGLPosition) +TYPED_TEST(GLSLTest, InvariantGLPosition) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -548,7 +554,7 @@ TEST_F(GLSLTest, InvariantGLPosition) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, InvariantAll) +TYPED_TEST(GLSLTest, InvariantAll) { const std::string fragmentShaderSource = SHADER_SOURCE ( @@ -567,7 +573,7 @@ TEST_F(GLSLTest, InvariantAll) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec3) +TYPED_TEST(GLSLTest, MaxVaryingVec3) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -581,7 +587,7 @@ TEST_F(GLSLTest, MaxVaryingVec3) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec3Array) +TYPED_TEST(GLSLTest, MaxVaryingVec3Array) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -595,7 +601,8 @@ TEST_F(GLSLTest, MaxVaryingVec3Array) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec3AndOneFloat) +// Disabled because of a failure in D3D9 +TYPED_TEST(GLSLTest, DISABLED_MaxVaryingVec3AndOneFloat) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -609,7 +616,8 @@ TEST_F(GLSLTest, MaxVaryingVec3AndOneFloat) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec3ArrayAndOneFloatArray) +// Disabled because of a failure in D3D9 +TYPED_TEST(GLSLTest, DISABLED_MaxVaryingVec3ArrayAndOneFloatArray) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -623,7 +631,8 @@ TEST_F(GLSLTest, MaxVaryingVec3ArrayAndOneFloatArray) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, TwiceMaxVaryingVec2) +// Disabled because of a failure in D3D9 +TYPED_TEST(GLSLTest, DISABLED_TwiceMaxVaryingVec2) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -637,7 +646,8 @@ TEST_F(GLSLTest, TwiceMaxVaryingVec2) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec2Arrays) +// Disabled because of a failure in D3D9 +TYPED_TEST(GLSLTest, DISABLED_MaxVaryingVec2Arrays) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -651,7 +661,7 @@ TEST_F(GLSLTest, MaxVaryingVec2Arrays) EXPECT_NE(0u, program); } -TEST_F(GLSLTest, MaxPlusOneVaryingVec3) +TYPED_TEST(GLSLTest, MaxPlusOneVaryingVec3) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -665,7 +675,7 @@ TEST_F(GLSLTest, MaxPlusOneVaryingVec3) EXPECT_EQ(0u, program); } -TEST_F(GLSLTest, MaxPlusOneVaryingVec3Array) +TYPED_TEST(GLSLTest, MaxPlusOneVaryingVec3Array) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -679,7 +689,7 @@ TEST_F(GLSLTest, MaxPlusOneVaryingVec3Array) EXPECT_EQ(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec3AndOneVec2) +TYPED_TEST(GLSLTest, MaxVaryingVec3AndOneVec2) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -693,7 +703,7 @@ TEST_F(GLSLTest, MaxVaryingVec3AndOneVec2) EXPECT_EQ(0u, program); } -TEST_F(GLSLTest, MaxPlusOneVaryingVec2) +TYPED_TEST(GLSLTest, MaxPlusOneVaryingVec2) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); @@ -707,7 +717,7 @@ TEST_F(GLSLTest, MaxPlusOneVaryingVec2) EXPECT_EQ(0u, program); } -TEST_F(GLSLTest, MaxVaryingVec3ArrayAndMaxPlusOneFloatArray) +TYPED_TEST(GLSLTest, MaxVaryingVec3ArrayAndMaxPlusOneFloatArray) { GLint maxVaryings = 0; glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); diff --git a/tests/angle_tests/IncompleteTextureTest.cpp b/tests/angle_tests/IncompleteTextureTest.cpp index eea64f29..ae58ba0b 100644 --- a/tests/angle_tests/IncompleteTextureTest.cpp +++ b/tests/angle_tests/IncompleteTextureTest.cpp @@ -2,10 +2,15 @@ #include <vector> +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(IncompleteTextureTest, TestFixtureTypes); + +template<typename T> class IncompleteTextureTest : public ANGLETest { protected: - IncompleteTextureTest() + IncompleteTextureTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -76,7 +81,7 @@ protected: GLint mTextureUniformLocation; }; -TEST_F(IncompleteTextureTest, IncompleteTexture2D) +TYPED_TEST(IncompleteTextureTest, IncompleteTexture2D) { GLuint tex; glGenTextures(1, &tex); @@ -91,7 +96,7 @@ TEST_F(IncompleteTextureTest, IncompleteTexture2D) std::vector<GLubyte> textureData(textureWidth * textureHeight * 4); fillTextureData(textureData, 255, 0, 0, 255); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData.data()); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, &textureData[0]); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); drawQuad(mProgram, "position", 0.5f); @@ -102,7 +107,7 @@ TEST_F(IncompleteTextureTest, IncompleteTexture2D) drawQuad(mProgram, "position", 0.5f); EXPECT_PIXEL_EQ(0, 0, 0, 0, 0, 255); - glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, textureWidth >> 1, textureHeight >> 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData.data()); + glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA, textureWidth >> 1, textureHeight >> 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, &textureData[0]); drawQuad(mProgram, "position", 0.5f); EXPECT_PIXEL_EQ(0, 0, 255, 0, 0, 255); @@ -110,7 +115,7 @@ TEST_F(IncompleteTextureTest, IncompleteTexture2D) glDeleteTextures(1, &tex); } -TEST_F(IncompleteTextureTest, UpdateTexture) +TYPED_TEST(IncompleteTextureTest, UpdateTexture) { GLuint tex; glGenTextures(1, &tex); @@ -127,7 +132,7 @@ TEST_F(IncompleteTextureTest, UpdateTexture) for (size_t i = 0; i < 7; i++) { glTexImage2D(GL_TEXTURE_2D, i, GL_RGBA, redTextureWidth >> i, redTextureHeight >> i, 0, GL_RGBA, GL_UNSIGNED_BYTE, - redTextureData.data()); + &redTextureData[0]); } glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); @@ -145,7 +150,7 @@ TEST_F(IncompleteTextureTest, UpdateTexture) { glTexSubImage2D(GL_TEXTURE_2D, i, greenTextureWidth >> i, greenTextureHeight >> i, greenTextureWidth >> i, greenTextureHeight >> i, GL_RGBA, GL_UNSIGNED_BYTE, - greenTextureData.data()); + &greenTextureData[0]); } drawQuad(mProgram, "position", 0.5f); diff --git a/tests/angle_tests/IndexedPointsTest.cpp b/tests/angle_tests/IndexedPointsTest.cpp index e5c7c789..1f86aa1c 100644 --- a/tests/angle_tests/IndexedPointsTest.cpp +++ b/tests/angle_tests/IndexedPointsTest.cpp @@ -5,7 +5,7 @@ template <typename IndexType, GLenum IndexTypeName> class IndexedPointsTest : public ANGLETest { protected: - IndexedPointsTest() + IndexedPointsTest() : ANGLETest(2, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE) { setWindowWidth(128); setWindowHeight(128); @@ -67,12 +67,12 @@ protected: }; glGenBuffers(1, &mVertexBuffer); glBindBuffer(GL_ARRAY_BUFFER, mVertexBuffer); - glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(GLfloat), vertices.data(), GL_STATIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(GLfloat), &vertices[0], GL_STATIC_DRAW); std::array<IndexType, mPointCount> indices = { 0, 1, 2, 3 }; glGenBuffers(1, &mIndexBuffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(IndexType), indices.data(), GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(IndexType), &indices[0], GL_STATIC_DRAW); } virtual void TearDown() diff --git a/tests/angle_tests/LineLoopTest.cpp b/tests/angle_tests/LineLoopTest.cpp index 53c525c3..f827e3a1 100644 --- a/tests/angle_tests/LineLoopTest.cpp +++ b/tests/angle_tests/LineLoopTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(LineLoopTest, TestFixtureTypes); + +template<typename T> class LineLoopTest : public ANGLETest { protected: - LineLoopTest() + LineLoopTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(256); setWindowHeight(256); @@ -106,13 +111,13 @@ protected: glDrawElements(GL_LINE_STRIP, 5, GL_UNSIGNED_BYTE, stripIndices); std::vector<GLubyte> pixels(getWindowWidth() * getWindowHeight() * 4); - glReadPixels(0, 0, getWindowWidth(), getWindowHeight(), GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glReadPixels(0, 0, getWindowWidth(), getWindowHeight(), GL_RGBA, GL_UNSIGNED_BYTE, &pixels[0]); for (int y = 0; y < getWindowHeight(); y++) { for (int x = 0; x < getWindowWidth(); x++) { - const GLubyte* pixel = pixels.data() + ((y * getWindowWidth() + x) * 4); + const GLubyte* pixel = &pixels[0] + ((y * getWindowWidth() + x) * 4); EXPECT_EQ(pixel[0], 0); EXPECT_EQ(pixel[1], pixel[2]); @@ -126,19 +131,19 @@ protected: GLint mColorLocation; }; -TEST_F(LineLoopTest, LineLoopUByteIndices) +TYPED_TEST(LineLoopTest, LineLoopUByteIndices) { static const GLubyte indices[] = { 0, 7, 6, 9, 8, 0 }; runTest(GL_UNSIGNED_BYTE, 0, indices + 1); } -TEST_F(LineLoopTest, LineLoopUShortIndices) +TYPED_TEST(LineLoopTest, LineLoopUShortIndices) { static const GLushort indices[] = { 0, 7, 6, 9, 8, 0 }; runTest(GL_UNSIGNED_SHORT, 0, indices + 1); } -TEST_F(LineLoopTest, LineLoopUIntIndices) +TYPED_TEST(LineLoopTest, LineLoopUIntIndices) { if (!extensionEnabled("GL_OES_element_index_uint")) { @@ -149,7 +154,7 @@ TEST_F(LineLoopTest, LineLoopUIntIndices) runTest(GL_UNSIGNED_INT, 0, indices + 1); } -TEST_F(LineLoopTest, LineLoopUByteIndexBuffer) +TYPED_TEST(LineLoopTest, LineLoopUByteIndexBuffer) { static const GLubyte indices[] = { 0, 7, 6, 9, 8, 0 }; @@ -163,7 +168,7 @@ TEST_F(LineLoopTest, LineLoopUByteIndexBuffer) glDeleteBuffers(1, &buf); } -TEST_F(LineLoopTest, LineLoopUShortIndexBuffer) +TYPED_TEST(LineLoopTest, LineLoopUShortIndexBuffer) { static const GLushort indices[] = { 0, 7, 6, 9, 8, 0 }; @@ -177,7 +182,7 @@ TEST_F(LineLoopTest, LineLoopUShortIndexBuffer) glDeleteBuffers(1, &buf); } -TEST_F(LineLoopTest, LineLoopUIntIndexBuffer) +TYPED_TEST(LineLoopTest, LineLoopUIntIndexBuffer) { if (!extensionEnabled("GL_OES_element_index_uint")) { diff --git a/tests/angle_tests/MaxTextureSizeTest.cpp b/tests/angle_tests/MaxTextureSizeTest.cpp index 989be5b2..fcbb2235 100644 --- a/tests/angle_tests/MaxTextureSizeTest.cpp +++ b/tests/angle_tests/MaxTextureSizeTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(MaxTextureSizeTest, TestFixtureTypes); + +template<typename T> class MaxTextureSizeTest : public ANGLETest { protected: - MaxTextureSizeTest() + MaxTextureSizeTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(512); setWindowHeight(512); @@ -86,7 +91,7 @@ protected: GLint mMaxRenderbufferSize; }; -TEST_F(MaxTextureSizeTest, SpecificationTexImage) +TYPED_TEST(MaxTextureSizeTest, SpecificationTexImage) { GLuint tex; glGenTextures(1, &tex); @@ -105,7 +110,7 @@ TEST_F(MaxTextureSizeTest, SpecificationTexImage) { for (int x = 0; x < textureWidth; x++) { - GLubyte* pixel = data.data() + ((y * textureWidth + x) * 4); + GLubyte* pixel = &data[0] + ((y * textureWidth + x) * 4); // Draw a gradient, red in direction, green in y direction pixel[0] = static_cast<GLubyte>((float(x) / textureWidth) * 255); @@ -115,7 +120,7 @@ TEST_F(MaxTextureSizeTest, SpecificationTexImage) } } - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, data.data()); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, &data[0]); EXPECT_GL_NO_ERROR(); glUseProgram(mTextureProgram); @@ -124,14 +129,14 @@ TEST_F(MaxTextureSizeTest, SpecificationTexImage) drawQuad(mTextureProgram, "position", 0.5f); std::vector<GLubyte> pixels(getWindowWidth() * getWindowHeight() * 4); - glReadPixels(0, 0, getWindowWidth(), getWindowHeight(), GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glReadPixels(0, 0, getWindowWidth(), getWindowHeight(), GL_RGBA, GL_UNSIGNED_BYTE, &pixels[0]); for (int y = 1; y < getWindowHeight(); y++) { for (int x = 1; x < getWindowWidth(); x++) { - const GLubyte* prevPixel = pixels.data() + (((y - 1) * getWindowWidth() + (x - 1)) * 4); - const GLubyte* curPixel = pixels.data() + ((y * getWindowWidth() + x) * 4); + const GLubyte* prevPixel = &pixels[0] + (((y - 1) * getWindowWidth() + (x - 1)) * 4); + const GLubyte* curPixel = &pixels[0] + ((y * getWindowWidth() + x) * 4); EXPECT_GE(curPixel[0], prevPixel[0]); EXPECT_GE(curPixel[1], prevPixel[1]); @@ -141,7 +146,7 @@ TEST_F(MaxTextureSizeTest, SpecificationTexImage) } } -TEST_F(MaxTextureSizeTest, SpecificationTexStorage) +TYPED_TEST(MaxTextureSizeTest, SpecificationTexStorage) { if (getClientVersion() < 3 && (!extensionEnabled("GL_EXT_texture_storage") || !extensionEnabled("GL_OES_rgb8_rgba8"))) { @@ -165,7 +170,7 @@ TEST_F(MaxTextureSizeTest, SpecificationTexStorage) { for (int x = 0; x < textureWidth; x++) { - GLubyte* pixel = data.data() + ((y * textureWidth + x) * 4); + GLubyte* pixel = &data[0] + ((y * textureWidth + x) * 4); // Draw a gradient, red in direction, green in y direction pixel[0] = static_cast<GLubyte>((float(x) / textureWidth) * 255); @@ -185,7 +190,7 @@ TEST_F(MaxTextureSizeTest, SpecificationTexStorage) } EXPECT_GL_NO_ERROR(); - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, textureWidth, textureHeight, GL_RGBA, GL_UNSIGNED_BYTE, data.data()); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, textureWidth, textureHeight, GL_RGBA, GL_UNSIGNED_BYTE, &data[0]); EXPECT_GL_NO_ERROR(); glUseProgram(mTextureProgram); @@ -194,14 +199,14 @@ TEST_F(MaxTextureSizeTest, SpecificationTexStorage) drawQuad(mTextureProgram, "position", 0.5f); std::vector<GLubyte> pixels(getWindowWidth() * getWindowHeight() * 4); - glReadPixels(0, 0, getWindowWidth(), getWindowHeight(), GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glReadPixels(0, 0, getWindowWidth(), getWindowHeight(), GL_RGBA, GL_UNSIGNED_BYTE, &pixels[0]); for (int y = 1; y < getWindowHeight(); y++) { for (int x = 1; x < getWindowWidth(); x++) { - const GLubyte* prevPixel = pixels.data() + (((y - 1) * getWindowWidth() + (x - 1)) * 4); - const GLubyte* curPixel = pixels.data() + ((y * getWindowWidth() + x) * 4); + const GLubyte* prevPixel = &pixels[0] + (((y - 1) * getWindowWidth() + (x - 1)) * 4); + const GLubyte* curPixel = &pixels[0] + ((y * getWindowWidth() + x) * 4); EXPECT_GE(curPixel[0], prevPixel[0]); EXPECT_GE(curPixel[1], prevPixel[1]); @@ -211,7 +216,7 @@ TEST_F(MaxTextureSizeTest, SpecificationTexStorage) } } -TEST_F(MaxTextureSizeTest, RenderToTexture) +TYPED_TEST(MaxTextureSizeTest, RenderToTexture) { GLuint fbo = 0; GLuint textureId = 0; @@ -227,7 +232,7 @@ TEST_F(MaxTextureSizeTest, RenderToTexture) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA_EXT, textureHeight, textureWidth, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA_EXT, textureWidth, textureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, NULL); EXPECT_GL_NO_ERROR(); // create an FBO and attach the texture diff --git a/tests/angle_tests/OcclusionQueriesTest.cpp b/tests/angle_tests/OcclusionQueriesTest.cpp index 74da8a28..f4bbf818 100644 --- a/tests/angle_tests/OcclusionQueriesTest.cpp +++ b/tests/angle_tests/OcclusionQueriesTest.cpp @@ -3,10 +3,15 @@ // Needed for Sleep() #include <Windows.h> +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(OcclusionQueriesTest, TestFixtureTypes); + +template<typename T> class OcclusionQueriesTest : public ANGLETest { protected: - OcclusionQueriesTest() + OcclusionQueriesTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -58,7 +63,7 @@ protected: GLuint mProgram; }; -TEST_F(OcclusionQueriesTest, IsOccluded) +TYPED_TEST(OcclusionQueriesTest, IsOccluded) { glDepthMask(GL_TRUE); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); @@ -98,7 +103,7 @@ TEST_F(OcclusionQueriesTest, IsOccluded) EXPECT_EQ(result, GL_FALSE); } -TEST_F(OcclusionQueriesTest, IsNotOccluded) +TYPED_TEST(OcclusionQueriesTest, IsNotOccluded) { glDepthMask(GL_TRUE); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); @@ -125,7 +130,7 @@ TEST_F(OcclusionQueriesTest, IsNotOccluded) EXPECT_EQ(result, GL_TRUE); } -TEST_F(OcclusionQueriesTest, Errors) +TYPED_TEST(OcclusionQueriesTest, Errors) { glDepthMask(GL_TRUE); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); diff --git a/tests/angle_tests/PBOExtensionTest.cpp b/tests/angle_tests/PBOExtensionTest.cpp index 7dabc93c..85677153 100755 --- a/tests/angle_tests/PBOExtensionTest.cpp +++ b/tests/angle_tests/PBOExtensionTest.cpp @@ -1,11 +1,15 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(PBOExtensionTest, TestFixtureTypes); + +template<typename T> class PBOExtensionTest : public ANGLETest { protected: - PBOExtensionTest() + PBOExtensionTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { - setClientVersion(2); setWindowWidth(32); setWindowHeight(32); setConfigRedBits(8); @@ -73,7 +77,7 @@ protected: GLuint mPositionVBO; }; -TEST_F(PBOExtensionTest, PBOWithOtherTarget) +TYPED_TEST(PBOExtensionTest, PBOWithOtherTarget) { if (extensionEnabled("NV_pixel_buffer_object")) { @@ -101,7 +105,7 @@ TEST_F(PBOExtensionTest, PBOWithOtherTarget) EXPECT_GL_NO_ERROR(); } -TEST_F(PBOExtensionTest, PBOWithExistingData) +TYPED_TEST(PBOExtensionTest, PBOWithExistingData) { if (extensionEnabled("NV_pixel_buffer_object")) { diff --git a/tests/angle_tests/ProgramBinaryTest.cpp b/tests/angle_tests/ProgramBinaryTest.cpp index df144c3a..4f7b4f91 100644 --- a/tests/angle_tests/ProgramBinaryTest.cpp +++ b/tests/angle_tests/ProgramBinaryTest.cpp @@ -1,9 +1,16 @@ #include "ANGLETest.h" +#include <memory> +#include <stdint.h> +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(ProgramBinaryTest, TestFixtureTypes); + +template<typename T> class ProgramBinaryTest : public ANGLETest { protected: - ProgramBinaryTest() + ProgramBinaryTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -62,7 +69,7 @@ protected: // This tests the assumption that float attribs of different size // should not internally cause a vertex shader recompile (for conversion). -TEST_F(ProgramBinaryTest, FloatDynamicShaderSize) +TYPED_TEST(ProgramBinaryTest, FloatDynamicShaderSize) { glUseProgram(mProgram); glBindBuffer(GL_ARRAY_BUFFER, mBuffer); @@ -88,3 +95,55 @@ TEST_F(ProgramBinaryTest, FloatDynamicShaderSize) EXPECT_EQ(programLength, newProgramLength); } } + +// This tests the ability to successfully save and load a program binary. +TYPED_TEST(ProgramBinaryTest, SaveAndLoadBinary) +{ + GLint programLength = 0; + GLint writtenLength = 0; + GLenum binaryFormat = 0; + + glGetProgramiv(mProgram, GL_PROGRAM_BINARY_LENGTH_OES, &programLength); + EXPECT_GL_NO_ERROR(); + + std::vector<uint8_t> binary(programLength); + glGetProgramBinaryOES(mProgram, programLength, &writtenLength, &binaryFormat, binary.data()); + EXPECT_GL_NO_ERROR(); + + // The lengths reported by glGetProgramiv and glGetProgramBinaryOES should match + EXPECT_EQ(programLength, writtenLength); + + if (writtenLength) + { + GLuint program2 = glCreateProgram(); + glProgramBinaryOES(program2, binaryFormat, binary.data(), writtenLength); + + EXPECT_GL_NO_ERROR(); + + GLint linkStatus; + glGetProgramiv(program2, GL_LINK_STATUS, &linkStatus); + if (linkStatus == 0) + { + GLint infoLogLength; + glGetProgramiv(program2, GL_INFO_LOG_LENGTH, &infoLogLength); + + std::vector<GLchar> infoLog(infoLogLength); + glGetProgramInfoLog(program2, infoLog.size(), NULL, &infoLog[0]); + + FAIL() << "program link failed: " << &infoLog[0]; + } + else + { + glUseProgram(program2); + glBindBuffer(GL_ARRAY_BUFFER, mBuffer); + + glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 8, NULL); + glEnableVertexAttribArray(0); + glDrawArrays(GL_POINTS, 0, 1); + + EXPECT_GL_NO_ERROR(); + } + + glDeleteProgram(program2); + } +} diff --git a/tests/angle_tests/ReadPixelsTest.cpp b/tests/angle_tests/ReadPixelsTest.cpp index a2b3218e..c04aeedc 100644 --- a/tests/angle_tests/ReadPixelsTest.cpp +++ b/tests/angle_tests/ReadPixelsTest.cpp @@ -1,11 +1,15 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>> TestFixtureTypes; +TYPED_TEST_CASE(ReadPixelsTest, TestFixtureTypes); + +template<typename T> class ReadPixelsTest : public ANGLETest { protected: - ReadPixelsTest() + ReadPixelsTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { - setClientVersion(3); setWindowWidth(32); setWindowHeight(32); setConfigRedBits(8); @@ -84,7 +88,7 @@ protected: GLuint mPositionVBO; }; -TEST_F(ReadPixelsTest, OutOfBounds) +TYPED_TEST(ReadPixelsTest, OutOfBounds) { glClearColor(1.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); @@ -95,14 +99,14 @@ TEST_F(ReadPixelsTest, OutOfBounds) GLint offset = 16; std::vector<GLubyte> pixels((pixelsWidth + offset) * (pixelsHeight + offset) * 4); - glReadPixels(-offset, -offset, pixelsWidth + offset, pixelsHeight + offset, GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glReadPixels(-offset, -offset, pixelsWidth + offset, pixelsHeight + offset, GL_RGBA, GL_UNSIGNED_BYTE, &pixels[0]); EXPECT_GL_NO_ERROR(); for (int y = pixelsHeight / 2; y < pixelsHeight; y++) { for (int x = pixelsWidth / 2; x < pixelsWidth; x++) { - const GLubyte* pixel = pixels.data() + ((y * (pixelsWidth + offset) + x) * 4); + const GLubyte* pixel = &pixels[0] + ((y * (pixelsWidth + offset) + x) * 4); unsigned int r = static_cast<unsigned int>(pixel[0]); unsigned int g = static_cast<unsigned int>(pixel[1]); unsigned int b = static_cast<unsigned int>(pixel[2]); @@ -117,7 +121,7 @@ TEST_F(ReadPixelsTest, OutOfBounds) } } -TEST_F(ReadPixelsTest, PBOWithOtherTarget) +TYPED_TEST(ReadPixelsTest, PBOWithOtherTarget) { glClearColor(1.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); @@ -142,7 +146,7 @@ TEST_F(ReadPixelsTest, PBOWithOtherTarget) EXPECT_GL_NO_ERROR(); } -TEST_F(ReadPixelsTest, PBOWithExistingData) +TYPED_TEST(ReadPixelsTest, PBOWithExistingData) { // Clear backbuffer to red glClearColor(1.0f, 0.0f, 0.0f, 1.0f); @@ -180,7 +184,7 @@ TEST_F(ReadPixelsTest, PBOWithExistingData) EXPECT_GL_NO_ERROR(); } -TEST_F(ReadPixelsTest, PBOAndSubData) +TYPED_TEST(ReadPixelsTest, PBOAndSubData) { glClearColor(1.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); @@ -208,7 +212,7 @@ TEST_F(ReadPixelsTest, PBOAndSubData) EXPECT_GL_NO_ERROR(); } -TEST_F(ReadPixelsTest, PBOAndSubDataOffset) +TYPED_TEST(ReadPixelsTest, PBOAndSubDataOffset) { glClearColor(1.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); @@ -241,7 +245,7 @@ TEST_F(ReadPixelsTest, PBOAndSubDataOffset) EXPECT_GL_NO_ERROR(); } -TEST_F(ReadPixelsTest, DrawWithPBO) +TYPED_TEST(ReadPixelsTest, DrawWithPBO) { unsigned char data[4] = { 1, 2, 3, 4 }; @@ -294,7 +298,7 @@ TEST_F(ReadPixelsTest, DrawWithPBO) EXPECT_EQ(4, data[3]); } -TEST_F(ReadPixelsTest, MultisampledPBO) +TYPED_TEST(ReadPixelsTest, MultisampledPBO) { GLuint fbo; glGenFramebuffers(1, &fbo); diff --git a/tests/angle_tests/RendererTest.cpp b/tests/angle_tests/RendererTest.cpp new file mode 100644 index 00000000..473c28c1 --- /dev/null +++ b/tests/angle_tests/RendererTest.cpp @@ -0,0 +1,65 @@ +#include "ANGLETest.h" + +// These tests are designed to ensure that the various configurations of the test fixtures work as expected. +// If one of these tests fails, then it is likely that some of the other tests are being configured incorrectly. +// For example, they might be using the D3D11 renderer when the test is meant to be using the D3D9 renderer. + +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>, TFT<Gles::Two, Rend::D3D11>, + TFT<Gles::Three, Rend::WARP>, TFT<Gles::Two, Rend::WARP>, + TFT<Gles::Two, Rend::D3D9> > TestFixtureTypes; +TYPED_TEST_CASE(RendererTest, TestFixtureTypes); + +template<typename T> +class RendererTest : public ANGLETest +{ + protected: + RendererTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) + { + setWindowWidth(128); + setWindowHeight(128); + } + + T fixtureType; +}; + +TYPED_TEST(RendererTest, RequestedRendererCreated) +{ + std::string rendererString = std::string(reinterpret_cast<const char*>(glGetString(GL_RENDERER))); + std::transform(rendererString.begin(), rendererString.end(), rendererString.begin(), ::tolower); + + std::string versionString = std::string(reinterpret_cast<const char*>(glGetString(GL_VERSION))); + std::transform(versionString.begin(), versionString.end(), versionString.begin(), ::tolower); + + // Ensure that the renderer string contains D3D11, if we requested a D3D11 renderer. + if (fixtureType.GetRequestedRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE || fixtureType.GetRequestedRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE) + { + ASSERT_NE(rendererString.find(std::string("direct3d11")), std::string::npos); + } + + // Ensure that the renderer string contains D3D9, if we requested a D3D9 renderer. + if (fixtureType.GetRequestedRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE) + { + ASSERT_NE(rendererString.find(std::string("direct3d9")), std::string::npos); + } + + // Ensure that the renderer uses WARP, if we requested it. + if (fixtureType.GetRequestedRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE) + { + auto basicRenderPos = rendererString.find(std::string("microsoft basic render")); + auto softwareAdapterPos = rendererString.find(std::string("software adapter")); + ASSERT_TRUE(basicRenderPos != std::string::npos || softwareAdapterPos != std::string::npos); + } + + // Ensure that the renderer string contains GL ES 3.0, if we requested a GL ES 3.0 + if (fixtureType.GetGlesMajorVersion() == 3) + { + ASSERT_NE(versionString.find(std::string("es 3.0")), std::string::npos); + } + + // Ensure that the version string contains GL ES 2.0, if we requested GL ES 2.0 + if (fixtureType.GetGlesMajorVersion() == 2) + { + ASSERT_NE(versionString.find(std::string("es 2.0")), std::string::npos); + } +} diff --git a/tests/angle_tests/SRGBTextureTest.cpp b/tests/angle_tests/SRGBTextureTest.cpp index b00d5ae9..9b8e45cd 100644 --- a/tests/angle_tests/SRGBTextureTest.cpp +++ b/tests/angle_tests/SRGBTextureTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(SRGBTextureTest, TestFixtureTypes); + +template<typename T> class SRGBTextureTest : public ANGLETest { protected: - SRGBTextureTest() + SRGBTextureTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -24,7 +29,7 @@ protected: } }; -TEST_F(SRGBTextureTest, SRGBValidation) +TYPED_TEST(SRGBTextureTest, SRGBValidation) { bool supported = extensionEnabled("GL_EXT_sRGB") || getClientVersion() == 3; @@ -52,7 +57,7 @@ TEST_F(SRGBTextureTest, SRGBValidation) glDeleteTextures(1, &tex); } -TEST_F(SRGBTextureTest, SRGBAValidation) +TYPED_TEST(SRGBTextureTest, SRGBAValidation) { bool supported = extensionEnabled("GL_EXT_sRGB") || getClientVersion() == 3; @@ -87,7 +92,7 @@ TEST_F(SRGBTextureTest, SRGBAValidation) glDeleteTextures(1, &tex); } -TEST_F(SRGBTextureTest, SRGBARenderbuffer) +TYPED_TEST(SRGBTextureTest, SRGBARenderbuffer) { bool supported = extensionEnabled("GL_EXT_sRGB") || getClientVersion() == 3; diff --git a/tests/angle_tests/SwizzleTest.cpp b/tests/angle_tests/SwizzleTest.cpp index e7188c53..916e6d1a 100644 --- a/tests/angle_tests/SwizzleTest.cpp +++ b/tests/angle_tests/SwizzleTest.cpp @@ -2,10 +2,15 @@ #include <vector> +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>> TestFixtureTypes; +TYPED_TEST_CASE(SwizzleTest, TestFixtureTypes); + +template<typename T> class SwizzleTest : public ANGLETest { protected: - SwizzleTest() + SwizzleTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -13,7 +18,6 @@ protected: setConfigGreenBits(8); setConfigBlueBits(8); setConfigAlphaBits(8); - setClientVersion(3); GLenum swizzles[] = { @@ -181,77 +185,77 @@ protected: std::vector<swizzlePermutation> mPermutations; }; -TEST_F(SwizzleTest, RGBA8_2D) +TYPED_TEST(SwizzleTest, RGBA8_2D) { GLubyte data[] = { 1, 64, 128, 200 }; init2DTexture(GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE, data); runTest2D(); } -TEST_F(SwizzleTest, RGB8_2D) +TYPED_TEST(SwizzleTest, RGB8_2D) { GLubyte data[] = { 77, 66, 55 }; init2DTexture(GL_RGB8, GL_RGB, GL_UNSIGNED_BYTE, data); runTest2D(); } -TEST_F(SwizzleTest, RG8_2D) +TYPED_TEST(SwizzleTest, RG8_2D) { GLubyte data[] = { 11, 99 }; init2DTexture(GL_RG8, GL_RG, GL_UNSIGNED_BYTE, data); runTest2D(); } -TEST_F(SwizzleTest, R8_2D) +TYPED_TEST(SwizzleTest, R8_2D) { GLubyte data[] = { 2 }; init2DTexture<GLubyte>(GL_R8, GL_RED, GL_UNSIGNED_BYTE, data); runTest2D(); } -TEST_F(SwizzleTest, RGBA32F_2D) +TYPED_TEST(SwizzleTest, RGBA32F_2D) { GLfloat data[] = { 0.25f, 0.5f, 0.75f, 0.8f }; init2DTexture(GL_RGBA32F, GL_RGBA, GL_FLOAT, data); runTest2D(); } -TEST_F(SwizzleTest, RGB32F_2D) +TYPED_TEST(SwizzleTest, RGB32F_2D) { GLfloat data[] = { 0.1f, 0.2f, 0.3f }; init2DTexture(GL_RGB32F, GL_RGB, GL_FLOAT, data); runTest2D(); } -TEST_F(SwizzleTest, RG32F_2D) +TYPED_TEST(SwizzleTest, RG32F_2D) { GLfloat data[] = { 0.9f, 0.1f }; init2DTexture(GL_RG32F, GL_RG, GL_FLOAT, data); runTest2D(); } -TEST_F(SwizzleTest, R32F_2D) +TYPED_TEST(SwizzleTest, R32F_2D) { GLfloat data[] = { 0.5f }; init2DTexture(GL_R32F, GL_RED, GL_FLOAT, data); runTest2D(); } -TEST_F(SwizzleTest, D32F_2D) +TYPED_TEST(SwizzleTest, D32F_2D) { GLfloat data[] = { 0.5f }; init2DTexture(GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT, data); runTest2D(); } -TEST_F(SwizzleTest, D16_2D) +TYPED_TEST(SwizzleTest, D16_2D) { GLushort data[] = { 0xFF }; init2DTexture(GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, data); runTest2D(); } -TEST_F(SwizzleTest, D24_2D) +TYPED_TEST(SwizzleTest, D24_2D) { GLuint data[] = { 0xFFFF }; init2DTexture(GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, data); @@ -260,7 +264,7 @@ TEST_F(SwizzleTest, D24_2D) #include "media/pixel.inl" -TEST_F(SwizzleTest, CompressedDXT_2D) +TYPED_TEST(SwizzleTest, CompressedDXT_2D) { init2DCompressedTexture(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, pixel_0_width, pixel_0_height, pixel_0_size, pixel_0_data); runTest2D(); diff --git a/tests/angle_tests/TextureTest.cpp b/tests/angle_tests/TextureTest.cpp index 6323d8db..ff53bd96 100644 --- a/tests/angle_tests/TextureTest.cpp +++ b/tests/angle_tests/TextureTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(TextureTest, TestFixtureTypes); + +template<typename T> class TextureTest : public ANGLETest { protected: - TextureTest() + TextureTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -35,9 +40,11 @@ protected: attribute vec4 position; varying vec2 texcoord; + uniform vec2 textureScale; + void main() { - gl_Position = position; + gl_Position = vec4(position.xy * textureScale, 0.0, 1.0); texcoord = (position.xy * 0.5) + 0.5; } ); @@ -76,6 +83,15 @@ protected: } mTexture2DUniformLocation = glGetUniformLocation(m2DProgram, "tex"); + ASSERT_NE(-1, mTexture2DUniformLocation); + + mTextureScaleUniformLocation = glGetUniformLocation(m2DProgram, "textureScale"); + ASSERT_NE(-1, mTextureScaleUniformLocation); + + glUseProgram(m2DProgram); + glUniform2f(mTextureScaleUniformLocation, 1.0f, 1.0f); + glUseProgram(0); + ASSERT_GL_NO_ERROR(); } virtual void TearDown() @@ -94,9 +110,10 @@ protected: GLuint m2DProgram; GLuint mCubeProgram; GLint mTexture2DUniformLocation; + GLint mTextureScaleUniformLocation; }; -TEST_F(TextureTest, NegativeAPISubImage) +TYPED_TEST(TextureTest, NegativeAPISubImage) { glBindTexture(GL_TEXTURE_2D, mTexture2D); EXPECT_GL_ERROR(GL_NO_ERROR); @@ -106,7 +123,7 @@ TEST_F(TextureTest, NegativeAPISubImage) EXPECT_GL_ERROR(GL_INVALID_VALUE); } -TEST_F(TextureTest, ZeroSizedUploads) +TYPED_TEST(TextureTest, ZeroSizedUploads) { glBindTexture(GL_TEXTURE_2D, mTexture2D); EXPECT_GL_ERROR(GL_NO_ERROR); @@ -129,7 +146,7 @@ TEST_F(TextureTest, ZeroSizedUploads) } // Test drawing with two texture types, to trigger an ANGLE bug in validation -TEST_F(TextureTest, CubeMapBug) +TYPED_TEST(TextureTest, CubeMapBug) { glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, mTexture2D); @@ -147,3 +164,64 @@ TEST_F(TextureTest, CubeMapBug) drawQuad(mCubeProgram, "position", 0.5f); EXPECT_GL_NO_ERROR(); } + +// Copy of a test in conformance/textures/texture-mips, to test generate mipmaps +TYPED_TEST(TextureTest, MipmapsTwice) +{ + int px = getWindowWidth() / 2; + int py = getWindowHeight() / 2; + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, mTexture2D); + + // Fill with red + std::vector<GLubyte> pixels(4 * 16 * 16); + for (size_t pixelId = 0; pixelId < 16 * 16; ++pixelId) + { + pixels[pixelId * 4 + 0] = 255; + pixels[pixelId * 4 + 1] = 0; + pixels[pixelId * 4 + 2] = 0; + pixels[pixelId * 4 + 3] = 255; + } + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glGenerateMipmap(GL_TEXTURE_2D); + + glUseProgram(m2DProgram); + glUniform1i(mTexture2DUniformLocation, 0); + glUniform2f(mTextureScaleUniformLocation, 0.0625f, 0.0625f); + drawQuad(m2DProgram, "position", 0.5f); + EXPECT_GL_NO_ERROR(); + EXPECT_PIXEL_EQ(px, py, 255, 0, 0, 255); + + // Fill with blue + for (size_t pixelId = 0; pixelId < 16 * 16; ++pixelId) + { + pixels[pixelId * 4 + 0] = 0; + pixels[pixelId * 4 + 1] = 0; + pixels[pixelId * 4 + 2] = 255; + pixels[pixelId * 4 + 3] = 255; + } + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glGenerateMipmap(GL_TEXTURE_2D); + + // Fill with green + for (size_t pixelId = 0; pixelId < 16 * 16; ++pixelId) + { + pixels[pixelId * 4 + 0] = 0; + pixels[pixelId * 4 + 1] = 255; + pixels[pixelId * 4 + 2] = 0; + pixels[pixelId * 4 + 3] = 255; + } + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels.data()); + glGenerateMipmap(GL_TEXTURE_2D); + + drawQuad(m2DProgram, "position", 0.5f); + + EXPECT_GL_NO_ERROR(); + EXPECT_PIXEL_EQ(px, py, 0, 255, 0, 255); +} diff --git a/tests/angle_tests/TransformFeedbackTest.cpp b/tests/angle_tests/TransformFeedbackTest.cpp index 8bdb4e71..4fb66515 100644 --- a/tests/angle_tests/TransformFeedbackTest.cpp +++ b/tests/angle_tests/TransformFeedbackTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Three, Rend::D3D11>> TestFixtureTypes; +TYPED_TEST_CASE(TransformFeedbackTest, TestFixtureTypes); + +template<typename T> class TransformFeedbackTest : public ANGLETest { protected: - TransformFeedbackTest() + TransformFeedbackTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -11,7 +16,6 @@ class TransformFeedbackTest : public ANGLETest setConfigGreenBits(8); setConfigBlueBits(8); setConfigAlphaBits(8); - setClientVersion(3); } virtual void SetUp() @@ -66,7 +70,7 @@ class TransformFeedbackTest : public ANGLETest GLuint mTransformFeedbackBuffer; }; -TEST_F(TransformFeedbackTest, ZeroSizedViewport) +TYPED_TEST(TransformFeedbackTest, ZeroSizedViewport) { // Set the program's transform feedback varyings (just gl_Position) const GLchar* transformFeedbackVaryings[] = diff --git a/tests/angle_tests/UniformTest.cpp b/tests/angle_tests/UniformTest.cpp index 4f76b0e1..365a7357 100644 --- a/tests/angle_tests/UniformTest.cpp +++ b/tests/angle_tests/UniformTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(UniformTest, TestFixtureTypes); + +template<typename T> class UniformTest : public ANGLETest { protected: - UniformTest() + UniformTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -47,7 +52,7 @@ class UniformTest : public ANGLETest GLint mUniformILocation; }; -TEST_F(UniformTest, GetUniformNoCurrentProgram) +TYPED_TEST(UniformTest, GetUniformNoCurrentProgram) { glUseProgram(mProgram); glUniform1f(mUniformFLocation, 1.0f); diff --git a/tests/angle_tests/UnpackAlignmentTest.cpp b/tests/angle_tests/UnpackAlignmentTest.cpp index 35c7ec21..d8cf74e4 100644 --- a/tests/angle_tests/UnpackAlignmentTest.cpp +++ b/tests/angle_tests/UnpackAlignmentTest.cpp @@ -2,10 +2,15 @@ #include <array> +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(UnpackAlignmentTest, TestFixtureTypes); + +template<typename T> class UnpackAlignmentTest : public ANGLETest { protected: - UnpackAlignmentTest() + UnpackAlignmentTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -133,7 +138,7 @@ protected: GLuint mProgram; }; -TEST_F(UnpackAlignmentTest, DefaultAlignment) +TYPED_TEST(UnpackAlignmentTest, DefaultAlignment) { GLint defaultAlignment; glGetIntegerv(GL_UNPACK_ALIGNMENT, &defaultAlignment); @@ -141,165 +146,165 @@ TEST_F(UnpackAlignmentTest, DefaultAlignment) } -TEST_F(UnpackAlignmentTest, Alignment1RGBAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment1RGBAUByte) { testAlignment(1, 7 * 4, GL_RGBA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment1RGBUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment1RGBUByte) { testAlignment(1, 7 * 3, GL_RGB, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment1RGBAUShort4444) +TYPED_TEST(UnpackAlignmentTest, Alignment1RGBAUShort4444) { testAlignment(1, 7 * 2, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4); } -TEST_F(UnpackAlignmentTest, Alignment1RGBAUShort5551) +TYPED_TEST(UnpackAlignmentTest, Alignment1RGBAUShort5551) { testAlignment(1, 7 * 2, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1); } -TEST_F(UnpackAlignmentTest, Alignment1RGBAUShort565) +TYPED_TEST(UnpackAlignmentTest, Alignment1RGBAUShort565) { testAlignment(1, 7 * 2, GL_RGB, GL_UNSIGNED_SHORT_5_6_5); } -TEST_F(UnpackAlignmentTest, Alignment1LAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment1LAUByte) { testAlignment(1, 7 * 2, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment1LUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment1LUByte) { testAlignment(1, 7, GL_LUMINANCE, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment1AUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment1AUByte) { testAlignment(1, 7, GL_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment2RGBAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment2RGBAUByte) { testAlignment(2, 7 * 4, GL_RGBA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment2RGBUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment2RGBUByte) { testAlignment(2, 7 * 3 + 1, GL_RGB, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment2RGBAUShort4444) +TYPED_TEST(UnpackAlignmentTest, Alignment2RGBAUShort4444) { testAlignment(2, 7 * 2, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4); } -TEST_F(UnpackAlignmentTest, Alignment2RGBAUShort5551) +TYPED_TEST(UnpackAlignmentTest, Alignment2RGBAUShort5551) { testAlignment(2, 7 * 2, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1); } -TEST_F(UnpackAlignmentTest, Alignment2RGBAUShort565) +TYPED_TEST(UnpackAlignmentTest, Alignment2RGBAUShort565) { testAlignment(2, 7 * 2, GL_RGB, GL_UNSIGNED_SHORT_5_6_5); } -TEST_F(UnpackAlignmentTest, Alignment2LAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment2LAUByte) { testAlignment(2, 7 * 2, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment2LAByte) +TYPED_TEST(UnpackAlignmentTest, Alignment2LAByte) { testAlignment(2, 7 + 1, GL_LUMINANCE, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment2AUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment2AUByte) { testAlignment(2, 7 + 1, GL_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment4RGBAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment4RGBAUByte) { testAlignment(4, 7 * 4, GL_RGBA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment4RGBUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment4RGBUByte) { testAlignment(4, 7 * 3 + 3, GL_RGB, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment4RGBAUShort4444) +TYPED_TEST(UnpackAlignmentTest, Alignment4RGBAUShort4444) { testAlignment(4, 7 * 2 + 2, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4); } -TEST_F(UnpackAlignmentTest, Alignment4RGBAUShort5551) +TYPED_TEST(UnpackAlignmentTest, Alignment4RGBAUShort5551) { testAlignment(4, 7 * 2 + 2, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1); } -TEST_F(UnpackAlignmentTest, Alignment4RGBAUShort565) +TYPED_TEST(UnpackAlignmentTest, Alignment4RGBAUShort565) { testAlignment(4, 7 * 2 + 2, GL_RGB, GL_UNSIGNED_SHORT_5_6_5); } -TEST_F(UnpackAlignmentTest, Alignment4LAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment4LAUByte) { testAlignment(4, 7 * 2 + 2, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment4LUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment4LUByte) { testAlignment(4, 7 + 1, GL_LUMINANCE, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment4AUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment4AUByte) { testAlignment(4, 7 + 1, GL_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment8RGBAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment8RGBAUByte) { testAlignment(8, 7 * 4 + 4, GL_RGBA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment8RGBUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment8RGBUByte) { testAlignment(8, 7 * 3 + 3, GL_RGB, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment8RGBAUShort4444) +TYPED_TEST(UnpackAlignmentTest, Alignment8RGBAUShort4444) { testAlignment(8, 7 * 2 + 2, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4); } -TEST_F(UnpackAlignmentTest, Alignment8RGBAUShort5551) +TYPED_TEST(UnpackAlignmentTest, Alignment8RGBAUShort5551) { testAlignment(8, 7 * 2 + 2, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1); } -TEST_F(UnpackAlignmentTest, Alignment8RGBAUShort565) +TYPED_TEST(UnpackAlignmentTest, Alignment8RGBAUShort565) { testAlignment(8, 7 * 2 + 2, GL_RGB, GL_UNSIGNED_SHORT_5_6_5); } -TEST_F(UnpackAlignmentTest, Alignment8LAUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment8LAUByte) { testAlignment(8, 7 * 2 + 2, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment8LUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment8LUByte) { testAlignment(8, 7 + 1, GL_LUMINANCE, GL_UNSIGNED_BYTE); } -TEST_F(UnpackAlignmentTest, Alignment8AUByte) +TYPED_TEST(UnpackAlignmentTest, Alignment8AUByte) { testAlignment(8, 7 + 1, GL_ALPHA, GL_UNSIGNED_BYTE); } diff --git a/tests/angle_tests/VertexAttributeTest.cpp b/tests/angle_tests/VertexAttributeTest.cpp index f84404bb..9aff6ac9 100644 --- a/tests/angle_tests/VertexAttributeTest.cpp +++ b/tests/angle_tests/VertexAttributeTest.cpp @@ -1,9 +1,14 @@ #include "ANGLETest.h" +// Use this to select which configurations (e.g. which renderer, which GLES major version) these tests should be run against. +typedef ::testing::Types<TFT<Gles::Two, Rend::D3D11>, TFT<Gles::Two, Rend::D3D9>> TestFixtureTypes; +TYPED_TEST_CASE(VertexAttributeTest, TestFixtureTypes); + +template<typename T> class VertexAttributeTest : public ANGLETest { protected: - VertexAttributeTest() + VertexAttributeTest() : ANGLETest(T::GetGlesMajorVersion(), T::GetRequestedRenderer()) { setWindowWidth(128); setWindowHeight(128); @@ -118,7 +123,7 @@ protected: GLint mExpectedAttrib; }; -TEST_F(VertexAttributeTest, UnsignedByteUnnormalized) +TYPED_TEST(VertexAttributeTest, UnsignedByteUnnormalized) { GLubyte inputData[mVertexCount] = { 0, 1, 2, 3, 4, 5, 6, 7, 125, 126, 127, 128, 129, 250, 251, 252, 253, 254, 255 }; GLfloat expectedData[mVertexCount]; @@ -131,7 +136,7 @@ TEST_F(VertexAttributeTest, UnsignedByteUnnormalized) runTest(data); } -TEST_F(VertexAttributeTest, UnsignedByteNormalized) +TYPED_TEST(VertexAttributeTest, UnsignedByteNormalized) { GLubyte inputData[mVertexCount] = { 0, 1, 2, 3, 4, 5, 6, 7, 125, 126, 127, 128, 129, 250, 251, 252, 253, 254, 255 }; GLfloat expectedData[mVertexCount]; @@ -144,7 +149,7 @@ TEST_F(VertexAttributeTest, UnsignedByteNormalized) runTest(data); } -TEST_F(VertexAttributeTest, ByteUnnormalized) +TYPED_TEST(VertexAttributeTest, ByteUnnormalized) { GLbyte inputData[mVertexCount] = { 0, 1, 2, 3, 4, -1, -2, -3, -4, 125, 126, 127, -128, -127, -126 }; GLfloat expectedData[mVertexCount]; @@ -157,7 +162,7 @@ TEST_F(VertexAttributeTest, ByteUnnormalized) runTest(data); } -TEST_F(VertexAttributeTest, ByteNormalized) +TYPED_TEST(VertexAttributeTest, ByteNormalized) { GLbyte inputData[mVertexCount] = { 0, 1, 2, 3, 4, -1, -2, -3, -4, 125, 126, 127, -128, -127, -126 }; GLfloat expectedData[mVertexCount]; @@ -170,7 +175,7 @@ TEST_F(VertexAttributeTest, ByteNormalized) runTest(data); } -TEST_F(VertexAttributeTest, UnsignedShortUnnormalized) +TYPED_TEST(VertexAttributeTest, UnsignedShortUnnormalized) { GLushort inputData[mVertexCount] = { 0, 1, 2, 3, 254, 255, 256, 32766, 32767, 32768, 65533, 65534, 65535 }; GLfloat expectedData[mVertexCount]; @@ -183,7 +188,7 @@ TEST_F(VertexAttributeTest, UnsignedShortUnnormalized) runTest(data); } -TEST_F(VertexAttributeTest, UnsignedShortNormalized) +TYPED_TEST(VertexAttributeTest, UnsignedShortNormalized) { GLushort inputData[mVertexCount] = { 0, 1, 2, 3, 254, 255, 256, 32766, 32767, 32768, 65533, 65534, 65535 }; GLfloat expectedData[mVertexCount]; @@ -196,7 +201,7 @@ TEST_F(VertexAttributeTest, UnsignedShortNormalized) runTest(data); } -TEST_F(VertexAttributeTest, ShortUnnormalized) +TYPED_TEST(VertexAttributeTest, ShortUnnormalized) { GLshort inputData[mVertexCount] = { 0, 1, 2, 3, -1, -2, -3, -4, 32766, 32767, -32768, -32767, -32766 }; GLfloat expectedData[mVertexCount]; @@ -209,7 +214,7 @@ TEST_F(VertexAttributeTest, ShortUnnormalized) runTest(data); } -TEST_F(VertexAttributeTest, ShortNormalized) +TYPED_TEST(VertexAttributeTest, ShortNormalized) { GLshort inputData[mVertexCount] = { 0, 1, 2, 3, -1, -2, -3, -4, 32766, 32767, -32768, -32767, -32766 }; GLfloat expectedData[mVertexCount]; diff --git a/tests/angle_tests/angle_test_main.cpp b/tests/angle_tests/angle_test_main.cpp index cd8e31e2..f03b81f5 100644 --- a/tests/angle_tests/angle_test_main.cpp +++ b/tests/angle_tests/angle_test_main.cpp @@ -10,7 +10,6 @@ int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); - testing::AddGlobalTestEnvironment(new ANGLETestEnvironment()); int rt = RUN_ALL_TESTS(); return rt; } diff --git a/tests/compiler_tests/API_test.cpp b/tests/compiler_tests/API_test.cpp new file mode 100644 index 00000000..217a260f --- /dev/null +++ b/tests/compiler_tests/API_test.cpp @@ -0,0 +1,26 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// API_test.cpp: +// Some tests for the compiler API. +// + +#include "angle_gl.h" +#include "gtest/gtest.h" +#include "GLSLANG/ShaderLang.h" + +TEST(APITest, CompareShBuiltInResources) +{ + ShBuiltInResources a_resources; + memset(&a_resources, 88, sizeof(a_resources)); + ShInitBuiltInResources(&a_resources); + + ShBuiltInResources b_resources; + memset(&b_resources, 77, sizeof(b_resources)); + ShInitBuiltInResources(&b_resources); + + EXPECT_TRUE(memcmp(&a_resources, &b_resources, sizeof(a_resources)) == 0); +} + diff --git a/tests/compiler_tests/NV_draw_buffers_test.cpp b/tests/compiler_tests/NV_draw_buffers_test.cpp new file mode 100644 index 00000000..68ef5ea3 --- /dev/null +++ b/tests/compiler_tests/NV_draw_buffers_test.cpp @@ -0,0 +1,60 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// NV_draw_buffers_test.cpp: +// Test for NV_draw_buffers setting +// + +#include "angle_gl.h" +#include "gtest/gtest.h" +#include "GLSLANG/ShaderLang.h" +#include "compiler/translator/TranslatorESSL.h" + +class NVDrawBuffersTest : public testing::Test +{ + public: + NVDrawBuffersTest() {} + + protected: + virtual void SetUp() + { + ShBuiltInResources resources; + ShInitBuiltInResources(&resources); + resources.MaxDrawBuffers = 8; + resources.EXT_draw_buffers = 1; + resources.NV_draw_buffers = 1; + + mTranslator = new TranslatorESSL(GL_FRAGMENT_SHADER, SH_GLES2_SPEC); + ASSERT_TRUE(mTranslator->Init(resources)); + } + + virtual void TearDown() + { + delete mTranslator; + } + + TranslatorESSL *mTranslator; +}; + +TEST_F(NVDrawBuffersTest, NVDrawBuffers) +{ + const std::string &shaderString = + "#extension GL_EXT_draw_buffers : require\n" + "precision mediump float;\n" + "void main() {\n" + " gl_FragData[0] = vec4(1.0);\n" + " gl_FragData[1] = vec4(0.0);\n" + "}\n"; + + const char *shaderStrings[] = { shaderString.c_str() }; + ASSERT_TRUE(mTranslator->compile(shaderStrings, 1, SH_OBJECT_CODE)); + + TInfoSink& infoSink = mTranslator->getInfoSink(); + std::string objCode(infoSink.obj.c_str()); + size_t nv_draw_buffers_ind = objCode.find("GL_NV_draw_buffers"); + EXPECT_NE(std::string::npos, nv_draw_buffers_ind); + size_t ext_draw_buffers_ind = objCode.find("GL_EXT_draw_buffers"); + EXPECT_EQ(std::string::npos, ext_draw_buffers_ind); +}; diff --git a/tests/compiler_tests/ShaderVariable_test.cpp b/tests/compiler_tests/ShaderVariable_test.cpp new file mode 100644 index 00000000..b642260f --- /dev/null +++ b/tests/compiler_tests/ShaderVariable_test.cpp @@ -0,0 +1,221 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// CollectVariables_test.cpp: +// Some tests for shader inspection +// + +#include "angle_gl.h" +#include "gtest/gtest.h" +#include "GLSLANG/ShaderLang.h" + +namespace sh +{ + +TEST(ShaderVariableTest, FindInfoByMappedName) +{ + // struct A { + // float x[2]; + // vec3 y; + // }; + // struct B { + // A a[3]; + // }; + // B uni[2]; + ShaderVariable uni; + uni.arraySize = 2; + uni.name = "uni"; + uni.mappedName = "m_uni"; + uni.structName = "B"; + { + ShaderVariable a; + a.arraySize = 3; + a.name = "a"; + a.mappedName = "m_a"; + a.structName = "A"; + { + ShaderVariable x(GL_FLOAT, 2); + x.name = "x"; + x.mappedName = "m_x"; + a.fields.push_back(x); + + ShaderVariable y(GL_FLOAT_VEC3, 0); + y.name = "y"; + y.mappedName = "m_y"; + a.fields.push_back(y); + } + uni.fields.push_back(a); + } + + const ShaderVariable *leafVar = NULL; + std::string originalFullName; + + std::string mappedFullName = "wrongName"; + EXPECT_FALSE(uni.findInfoByMappedName( + mappedFullName, &leafVar, &originalFullName)); + + mappedFullName = "m_uni"; + EXPECT_TRUE(uni.findInfoByMappedName( + mappedFullName, &leafVar, &originalFullName)); + EXPECT_EQ(&uni, leafVar); + EXPECT_STREQ("uni", originalFullName.c_str()); + + mappedFullName = "m_uni[0].m_a[1].wrongName"; + EXPECT_FALSE(uni.findInfoByMappedName( + mappedFullName, &leafVar, &originalFullName)); + + mappedFullName = "m_uni[0].m_a[1].m_x"; + EXPECT_TRUE(uni.findInfoByMappedName( + mappedFullName, &leafVar, &originalFullName)); + EXPECT_EQ(&(uni.fields[0].fields[0]), leafVar); + EXPECT_STREQ("uni[0].a[1].x", originalFullName.c_str()); + + mappedFullName = "m_uni[0].m_a[1].m_x[0]"; + EXPECT_TRUE(uni.findInfoByMappedName( + mappedFullName, &leafVar, &originalFullName)); + EXPECT_EQ(&(uni.fields[0].fields[0]), leafVar); + EXPECT_STREQ("uni[0].a[1].x[0]", originalFullName.c_str()); + + mappedFullName = "m_uni[0].m_a[1].m_y"; + EXPECT_TRUE(uni.findInfoByMappedName( + mappedFullName, &leafVar, &originalFullName)); + EXPECT_EQ(&(uni.fields[0].fields[1]), leafVar); + EXPECT_STREQ("uni[0].a[1].y", originalFullName.c_str()); +} + +TEST(ShaderVariableTest, IsSameUniformWithDifferentFieldOrder) +{ + // struct A { + // float x; + // float y; + // }; + // uniform A uni; + Uniform vx_a; + vx_a.arraySize = 0; + vx_a.name = "uni"; + vx_a.mappedName = "m_uni"; + vx_a.structName = "A"; + { + ShaderVariable x(GL_FLOAT, 0); + x.name = "x"; + x.mappedName = "m_x"; + vx_a.fields.push_back(x); + + ShaderVariable y(GL_FLOAT, 0); + y.name = "y"; + y.mappedName = "m_y"; + vx_a.fields.push_back(y); + } + + // struct A { + // float y; + // float x; + // }; + // uniform A uni; + Uniform fx_a; + fx_a.arraySize = 0; + fx_a.name = "uni"; + fx_a.mappedName = "m_uni"; + fx_a.structName = "A"; + { + ShaderVariable y(GL_FLOAT, 0); + y.name = "y"; + y.mappedName = "m_y"; + fx_a.fields.push_back(y); + + ShaderVariable x(GL_FLOAT, 0); + x.name = "x"; + x.mappedName = "m_x"; + fx_a.fields.push_back(x); + } + + EXPECT_FALSE(vx_a.isSameUniformAtLinkTime(fx_a)); +} + +TEST(ShaderVariableTest, IsSameUniformWithDifferentStructNames) +{ + // struct A { + // float x; + // float y; + // }; + // uniform A uni; + Uniform vx_a; + vx_a.arraySize = 0; + vx_a.name = "uni"; + vx_a.mappedName = "m_uni"; + vx_a.structName = "A"; + { + ShaderVariable x(GL_FLOAT, 0); + x.name = "x"; + x.mappedName = "m_x"; + vx_a.fields.push_back(x); + + ShaderVariable y(GL_FLOAT, 0); + y.name = "y"; + y.mappedName = "m_y"; + vx_a.fields.push_back(y); + } + + // struct B { + // float x; + // float y; + // }; + // uniform B uni; + Uniform fx_a; + fx_a.arraySize = 0; + fx_a.name = "uni"; + fx_a.mappedName = "m_uni"; + { + ShaderVariable x(GL_FLOAT, 0); + x.name = "x"; + x.mappedName = "m_x"; + fx_a.fields.push_back(x); + + ShaderVariable y(GL_FLOAT, 0); + y.name = "y"; + y.mappedName = "m_y"; + fx_a.fields.push_back(y); + } + + fx_a.structName = "B"; + EXPECT_FALSE(vx_a.isSameUniformAtLinkTime(fx_a)); + + fx_a.structName = "A"; + EXPECT_TRUE(vx_a.isSameUniformAtLinkTime(fx_a)); + + fx_a.structName = ""; + EXPECT_FALSE(vx_a.isSameUniformAtLinkTime(fx_a)); +} + +TEST(ShaderVariableTest, IsSameVaryingWithDifferentInvariance) +{ + // invariant varying float vary; + Varying vx; + vx.type = GL_FLOAT; + vx.arraySize = 0; + vx.precision = GL_MEDIUM_FLOAT; + vx.name = "vary"; + vx.mappedName = "m_vary"; + vx.staticUse = true; + vx.isInvariant = true; + + // varying float vary; + Varying fx; + fx.type = GL_FLOAT; + fx.arraySize = 0; + fx.precision = GL_MEDIUM_FLOAT; + fx.name = "vary"; + fx.mappedName = "m_vary"; + fx.staticUse = true; + fx.isInvariant = false; + + EXPECT_FALSE(vx.isSameVaryingAtLinkTime(fx)); + + // invariant varying float vary; + fx.isInvariant = true; + EXPECT_TRUE(vx.isSameVaryingAtLinkTime(fx)); +} + +} // namespace sh diff --git a/tests/perf_tests/BufferSubData.cpp b/tests/perf_tests/BufferSubData.cpp index 01c9a677..fbc4ceac 100644 --- a/tests/perf_tests/BufferSubData.cpp +++ b/tests/perf_tests/BufferSubData.cpp @@ -126,40 +126,35 @@ GLsizeiptr GetVertexData(GLenum type, GLint componentCount, GLboolean normalized } -std::string BufferSubDataParams::name() const +std::string BufferSubDataParams::suffix() const { std::stringstream strstr; - strstr << "BufferSubData - " << BenchmarkParams::name() << " - "; - if (vertexNormalized) { - strstr << "Norm"; + strstr << "_norm"; } switch (vertexType) { - case GL_FLOAT: strstr << "Float"; break; - case GL_INT: strstr << "Int"; break; - case GL_BYTE: strstr << "Byte"; break; - case GL_SHORT: strstr << "Short"; break; - case GL_UNSIGNED_INT: strstr << "UInt"; break; - case GL_UNSIGNED_BYTE: strstr << "UByte"; break; - case GL_UNSIGNED_SHORT: strstr << "UShort"; break; - default: strstr << "UNKNOWN FORMAT (" << vertexType << ")"; break; + case GL_FLOAT: strstr << "_float"; break; + case GL_INT: strstr << "_int"; break; + case GL_BYTE: strstr << "_byte"; break; + case GL_SHORT: strstr << "_short"; break; + case GL_UNSIGNED_INT: strstr << "_uint"; break; + case GL_UNSIGNED_BYTE: strstr << "_ubyte"; break; + case GL_UNSIGNED_SHORT: strstr << "_ushort"; break; + default: strstr << "_vunk_" << vertexType << "_"; break; } strstr << vertexComponentCount; - - strstr << " - " << updateSize << "b updates (per " << updatesEveryNFrames << ") - "; - strstr << (bufferSize >> 10) << "k buffer - "; - strstr << iterations << " updates"; + strstr << "_every" << updatesEveryNFrames; return strstr.str(); } BufferSubDataBenchmark::BufferSubDataBenchmark(const BufferSubDataParams ¶ms) - : SimpleBenchmark(params.name(), 1280, 720, 2, params.requestedRenderer), + : SimpleBenchmark("BufferSubData", 1280, 720, 2, params), mProgram(0), mBuffer(0), mUpdateData(NULL), @@ -207,11 +202,11 @@ bool BufferSubDataBenchmark::initializeBenchmark() std::vector<uint8_t> zeroData(mParams.bufferSize); - memset(zeroData.data(), 0, zeroData.size()); + memset(&zeroData[0], 0, zeroData.size()); glGenBuffers(1, &mBuffer); glBindBuffer(GL_ARRAY_BUFFER, mBuffer); - glBufferData(GL_ARRAY_BUFFER, mParams.bufferSize, zeroData.data(), GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, mParams.bufferSize, &zeroData[0], GL_DYNAMIC_DRAW); glVertexAttribPointer(0, mParams.vertexComponentCount, mParams.vertexType, mParams.vertexNormalized, 0, 0); @@ -230,14 +225,14 @@ bool BufferSubDataBenchmark::initializeBenchmark() mNumTris = mParams.updateSize / triDataSize; for (int i = 0, offset = 0; i < mNumTris; ++i) { - memcpy(mUpdateData + offset, data.data(), triDataSize); + memcpy(mUpdateData + offset, &data[0], triDataSize); offset += triDataSize; } if (mParams.updateSize == 0) { mNumTris = 1; - glBufferSubData(GL_ARRAY_BUFFER, 0, data.size(), data.data()); + glBufferSubData(GL_ARRAY_BUFFER, 0, data.size(), &data[0]); } // Set the viewport @@ -266,6 +261,11 @@ bool BufferSubDataBenchmark::initializeBenchmark() void BufferSubDataBenchmark::destroyBenchmark() { + // print static parameters + printResult("update_size", static_cast<size_t>(mParams.updateSize), "b", false); + printResult("buffer_size", static_cast<size_t>(mParams.bufferSize), "b", false); + printResult("iterations", static_cast<size_t>(mParams.iterations), "updates", false); + glDeleteProgram(mProgram); glDeleteBuffers(1, &mBuffer); delete[] mUpdateData; diff --git a/tests/perf_tests/BufferSubData.h b/tests/perf_tests/BufferSubData.h index 6a55fac1..347f8980 100644 --- a/tests/perf_tests/BufferSubData.h +++ b/tests/perf_tests/BufferSubData.h @@ -8,16 +8,17 @@ struct BufferSubDataParams : public BenchmarkParams { - EGLint requestedRenderer; + virtual std::string suffix() const; + + GLboolean vertexNormalized; GLenum vertexType; GLint vertexComponentCount; - GLboolean vertexNormalized; + unsigned int updatesEveryNFrames; + + // static parameters GLsizeiptr updateSize; GLsizeiptr bufferSize; unsigned int iterations; - unsigned int updatesEveryNFrames; - - virtual std::string name() const; }; class BufferSubDataBenchmark : public SimpleBenchmark diff --git a/tests/perf_tests/PointSprites.cpp b/tests/perf_tests/PointSprites.cpp new file mode 100644 index 00000000..d27dcb58 --- /dev/null +++ b/tests/perf_tests/PointSprites.cpp @@ -0,0 +1,159 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#include "PointSprites.h" + +#include <cassert> +#include <sstream> +#include <iostream> + +#include "shader_utils.h" +#include "random_utils.h" + +std::string PointSpritesParams::suffix() const +{ + std::stringstream strstr; + + strstr << "_" << count << "_" << size << "px" + << "_" << numVaryings << "vars"; + + return strstr.str(); +} + +PointSpritesBenchmark::PointSpritesBenchmark(const PointSpritesParams ¶ms) + : SimpleBenchmark("PointSprites", 1280, 720, 2, params), + mParams(params) +{ + mDrawIterations = mParams.iterations; + assert(mParams.iterations > 0); +} + +bool PointSpritesBenchmark::initializeBenchmark() +{ + std::stringstream vstrstr; + + // Verify "numVaryings" is within MAX_VARYINGS limit + GLint maxVaryings; + glGetIntegerv(GL_MAX_VARYING_VECTORS, &maxVaryings); + + if (mParams.numVaryings > static_cast<unsigned int>(maxVaryings)) + { + std::cerr << "Varying count (" << mParams.numVaryings << ")" + << " exceeds maximum varyings: " << maxVaryings << std::endl; + return false; + } + + vstrstr << "attribute vec2 vPosition;\n" + "uniform float uPointSize;\n"; + + for (unsigned int varCount = 0; varCount < mParams.numVaryings; varCount++) + { + vstrstr << "varying vec4 v" << varCount << ";\n"; + } + + vstrstr << "void main()\n" + "{\n"; + + for (unsigned int varCount = 0; varCount < mParams.numVaryings; varCount++) + { + vstrstr << " v" << varCount << " = vec4(1.0);\n"; + } + + vstrstr << " gl_Position = vec4(vPosition, 0, 1.0);\n" + " gl_PointSize = uPointSize;\n" + "}"; + + std::stringstream fstrstr; + + fstrstr << "precision mediump float;\n"; + + for (unsigned int varCount = 0; varCount < mParams.numVaryings; varCount++) + { + fstrstr << "varying vec4 v" << varCount << ";\n"; + } + + fstrstr << "void main()\n" + "{\n" + " vec4 colorOut = vec4(1.0, 0.0, 0.0, 1.0);\n"; + + for (unsigned int varCount = 0; varCount < mParams.numVaryings; varCount++) + { + fstrstr << " colorOut.r += v" << varCount << ".r;\n"; + } + + fstrstr << " gl_FragColor = colorOut;\n" + "}\n"; + + mProgram = CompileProgram(vstrstr.str(), fstrstr.str()); + if (!mProgram) + { + return false; + } + + // Use the program object + glUseProgram(mProgram); + + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + + std::vector<float> vertexPositions(mParams.count * 2); + for (size_t pointIndex = 0; pointIndex < vertexPositions.size(); ++pointIndex) + { + vertexPositions[pointIndex] = RandomBetween(-1.0f, 1.0f); + } + + glGenBuffers(1, &mBuffer); + glBindBuffer(GL_ARRAY_BUFFER, mBuffer); + glBufferData(GL_ARRAY_BUFFER, vertexPositions.size() * sizeof(float), &vertexPositions[0], GL_STATIC_DRAW); + + int positionLocation = glGetAttribLocation(mProgram, "vPosition"); + if (positionLocation == -1) + { + return false; + } + + glVertexAttribPointer(positionLocation, 2, GL_FLOAT, GL_FALSE, 0, NULL); + glEnableVertexAttribArray(positionLocation); + + // Set the viewport + glViewport(0, 0, getWindow()->getWidth(), getWindow()->getHeight()); + + int pointSizeLocation = glGetUniformLocation(mProgram, "uPointSize"); + if (pointSizeLocation == -1) + { + return false; + } + + glUniform1f(pointSizeLocation, mParams.size); + + GLenum glErr = glGetError(); + if (glErr != GL_NO_ERROR) + { + return false; + } + + return true; +} + +void PointSpritesBenchmark::destroyBenchmark() +{ + glDeleteProgram(mProgram); + glDeleteBuffers(1, &mBuffer); +} + +void PointSpritesBenchmark::beginDrawBenchmark() +{ + // Clear the color buffer + glClear(GL_COLOR_BUFFER_BIT); +} + +void PointSpritesBenchmark::drawBenchmark() +{ + for (unsigned int it = 0; it < mParams.iterations; it++) + { + //TODO(jmadill): Indexed point rendering. ANGLE is bad at this. + glDrawArrays(GL_POINTS, 0, mParams.count); + } +} diff --git a/tests/perf_tests/PointSprites.h b/tests/perf_tests/PointSprites.h new file mode 100644 index 00000000..d181a489 --- /dev/null +++ b/tests/perf_tests/PointSprites.h @@ -0,0 +1,38 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#include "SimpleBenchmark.h" + +struct PointSpritesParams : public BenchmarkParams +{ + virtual std::string suffix() const; + + unsigned int count; + float size; + unsigned int numVaryings; + + // static parameters + unsigned int iterations; +}; + +class PointSpritesBenchmark : public SimpleBenchmark +{ +public: + PointSpritesBenchmark(const PointSpritesParams ¶ms); + + virtual bool initializeBenchmark(); + virtual void destroyBenchmark(); + virtual void beginDrawBenchmark(); + virtual void drawBenchmark(); + +private: + DISALLOW_COPY_AND_ASSIGN(PointSpritesBenchmark); + + GLuint mProgram; + GLuint mBuffer; + + const PointSpritesParams mParams; +}; diff --git a/tests/perf_tests/SimpleBenchmark.cpp b/tests/perf_tests/SimpleBenchmark.cpp index b1e83a3a..d15a91fb 100644 --- a/tests/perf_tests/SimpleBenchmark.cpp +++ b/tests/perf_tests/SimpleBenchmark.cpp @@ -5,33 +5,59 @@ // #include "SimpleBenchmark.h" + +#include "third_party/perf/perf_test.h" + #include <iostream> +#include <cassert> + +std::string BenchmarkParams::suffix() const +{ + switch (requestedRenderer) + { + case EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE: return "_d3d11"; + case EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE: return "_d3d9"; + default: assert(0); return "_unk"; + } +} -SimpleBenchmark::SimpleBenchmark(const std::string &name, size_t width, size_t height, EGLint glesMajorVersion, EGLint requestedRenderer) +SimpleBenchmark::SimpleBenchmark(const std::string &name, size_t width, size_t height, + EGLint glesMajorVersion, const BenchmarkParams ¶ms) : mNumFrames(0), mName(name), mRunning(false), mDrawIterations(10), - mRunTimeSeconds(5.0) + mRunTimeSeconds(5.0), + mSuffix(params.suffix()) { mOSWindow.reset(CreateOSWindow()); - mEGLWindow.reset(new EGLWindow(width, height, glesMajorVersion, requestedRenderer)); + mEGLWindow.reset(new EGLWindow(width, height, glesMajorVersion, params.requestedRenderer)); mTimer.reset(CreateTimer()); } bool SimpleBenchmark::initialize() { - std::cout << "========= " << mName << " =========" << std::endl; return initializeBenchmark(); } +void SimpleBenchmark::printResult(const std::string &trace, double value, const std::string &units, bool important) const +{ + perf_test::PrintResult(mName, mSuffix, trace, value, units, important); +} + +void SimpleBenchmark::printResult(const std::string &trace, size_t value, const std::string &units, bool important) const +{ + perf_test::PrintResult(mName, mSuffix, trace, value, units, important); +} + void SimpleBenchmark::destroy() { double totalTime = mTimer->getElapsedTime(); - std::cout << " - total time: " << totalTime << " sec" << std::endl; - std::cout << " - frames: " << mNumFrames << std::endl; - std::cout << " - average frame time: " << 1000.0 * totalTime / mNumFrames << " msec" << std::endl; - std::cout << "=========" << std::endl << std::endl; + double averageTime = 1000.0 * totalTime / static_cast<double>(mNumFrames); + + printResult("total_time", totalTime, "s", true); + printResult("frames", static_cast<size_t>(mNumFrames), "frames", true); + printResult("average_time", averageTime, "ms", true); destroyBenchmark(); } diff --git a/tests/perf_tests/SimpleBenchmark.h b/tests/perf_tests/SimpleBenchmark.h index b20b18a1..1549eeb7 100644 --- a/tests/perf_tests/SimpleBenchmark.h +++ b/tests/perf_tests/SimpleBenchmark.h @@ -21,12 +21,19 @@ class Event; +// Base class +struct BenchmarkParams +{ + EGLint requestedRenderer; + + virtual std::string suffix() const; +}; + class SimpleBenchmark { public: SimpleBenchmark(const std::string &name, size_t width, size_t height, - EGLint glesMajorVersion = 2, - EGLint requestedRenderer = EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE); + EGLint glesMajorVersion, const BenchmarkParams ¶ms); virtual ~SimpleBenchmark() { }; @@ -45,6 +52,9 @@ class SimpleBenchmark OSWindow *getWindow(); protected: + void printResult(const std::string &trace, double value, const std::string &units, bool important) const; + void printResult(const std::string &trace, size_t value, const std::string &units, bool important) const; + unsigned int mDrawIterations; double mRunTimeSeconds; int mNumFrames; @@ -60,28 +70,13 @@ class SimpleBenchmark std::string mName; bool mRunning; + std::string mSuffix; std::unique_ptr<EGLWindow> mEGLWindow; std::unique_ptr<OSWindow> mOSWindow; std::unique_ptr<Timer> mTimer; }; -// Base class -struct BenchmarkParams -{ - EGLint requestedRenderer; - - virtual std::string name() const - { - switch (requestedRenderer) - { - case EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE: return "D3D11"; - case EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE: return "D3D9"; - default: return "Unknown Renderer"; - } - } -}; - template <typename BenchmarkT, typename ParamsT> inline int RunBenchmarks(const std::vector<ParamsT> &benchmarks) { diff --git a/tests/perf_tests/SimpleBenchmarks.cpp b/tests/perf_tests/SimpleBenchmarks.cpp index e5986745..89945361 100644 --- a/tests/perf_tests/SimpleBenchmarks.cpp +++ b/tests/perf_tests/SimpleBenchmarks.cpp @@ -7,6 +7,7 @@ #include "SimpleBenchmark.h" #include "BufferSubData.h" #include "TexSubImage.h" +#include "PointSprites.h" EGLint platforms[] = { @@ -17,7 +18,7 @@ EGLint platforms[] = GLenum vertexTypes[] = { GL_FLOAT }; GLint componentCounts[] = { 4 }; GLboolean vertexNorms[] = { GL_FALSE }; -GLsizeiptr updateSizes[] = { 0, 300 }; +GLsizeiptr updateSizes[] = { 300 }; GLsizeiptr bufferSizes[] = { 1024 * 1024 }; unsigned int iterationCounts[] = { 10 }; unsigned int updatesEveryNFrames[] = { 1, 4 }; @@ -100,4 +101,21 @@ int main(int argc, char **argv) } RunBenchmarks<TexSubImageBenchmark>(subImageParams); + + std::vector<PointSpritesParams> pointSpriteParams; + + for (size_t platIt = 0; platIt < ArraySize(platforms); platIt++) + { + PointSpritesParams params; + + params.requestedRenderer = platforms[platIt]; + params.iterations = 10; + params.count = 10; + params.size = 3.0f; + params.numVaryings = 3; + + pointSpriteParams.push_back(params); + } + + RunBenchmarks<PointSpritesBenchmark>(pointSpriteParams); } diff --git a/tests/perf_tests/TexSubImage.cpp b/tests/perf_tests/TexSubImage.cpp index 0751f1f1..5c2a4825 100644 --- a/tests/perf_tests/TexSubImage.cpp +++ b/tests/perf_tests/TexSubImage.cpp @@ -11,19 +11,13 @@ #include "shader_utils.h" -std::string TexSubImageParams::name() const +std::string TexSubImageParams::suffix() const { - std::stringstream strstr; - - strstr << "TexSubImage - " << BenchmarkParams::name() - << " - " << imageWidth << "x" << imageHeight - << " - " << subImageWidth << "x" << subImageHeight << " updates"; - - return strstr.str(); + return ""; } TexSubImageBenchmark::TexSubImageBenchmark(const TexSubImageParams ¶ms) - : SimpleBenchmark(params.name(), 512, 512, 2, params.requestedRenderer), + : SimpleBenchmark("TexSubImage", 512, 512, 2, params), mParams(params), mProgram(0), mPositionLoc(-1), @@ -144,6 +138,13 @@ bool TexSubImageBenchmark::initializeBenchmark() void TexSubImageBenchmark::destroyBenchmark() { + // print static parameters + printResult("image_width", static_cast<size_t>(mParams.imageWidth), "pix", false); + printResult("image_height", static_cast<size_t>(mParams.imageHeight), "pix", false); + printResult("subimage_width", static_cast<size_t>(mParams.subImageWidth), "pix", false); + printResult("subimage_height", static_cast<size_t>(mParams.subImageHeight), "pix", false); + printResult("iterations", static_cast<size_t>(mParams.iterations), "updates", false); + glDeleteProgram(mProgram); glDeleteBuffers(1, &mVertexBuffer); glDeleteBuffers(1, &mIndexBuffer); diff --git a/tests/perf_tests/TexSubImage.h b/tests/perf_tests/TexSubImage.h index 259a81e9..b5d04493 100644 --- a/tests/perf_tests/TexSubImage.h +++ b/tests/perf_tests/TexSubImage.h @@ -8,13 +8,14 @@ struct TexSubImageParams : public BenchmarkParams { + virtual std::string suffix() const; + + // Static parameters int imageWidth; int imageHeight; int subImageWidth; int subImageHeight; unsigned int iterations; - - virtual std::string name() const; }; class TexSubImageBenchmark : public SimpleBenchmark diff --git a/tests/perf_tests/third_party/perf/angle-mods.patch b/tests/perf_tests/third_party/perf/angle-mods.patch new file mode 100644 index 00000000..d0b64028 --- /dev/null +++ b/tests/perf_tests/third_party/perf/angle-mods.patch @@ -0,0 +1,61 @@ +diff --git a/tests/perf_tests/third_party/perf/perf_test.cc b/tests/perf_tests/third_party/perf/perf_test.cc +index 0d5abc0..7364330 100644 +--- a/tests/perf_tests/third_party/perf/perf_test.cc ++++ b/tests/perf_tests/third_party/perf/perf_test.cc +@@ -2,16 +2,51 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-#include "testing/perf/perf_test.h" ++#include "perf_test.h" + + #include <stdio.h> +- +-#include "base/logging.h" +-#include "base/strings/string_number_conversions.h" +-#include "base/strings/stringprintf.h" ++#include <stdarg.h> ++#include <vector> + + namespace { + ++namespace base { ++ ++std::string FormatString(const char *fmt, va_list vararg) { ++ static std::vector<char> buffer(512); ++ ++ // Attempt to just print to the current buffer ++ int len = vsnprintf(&buffer[0], buffer.size(), fmt, vararg); ++ if (len < 0 || static_cast<size_t>(len) >= buffer.size()) { ++ // Buffer was not large enough, calculate the required size and resize the buffer ++ len = vsnprintf(NULL, 0, fmt, vararg); ++ buffer.resize(len + 1); ++ ++ // Print again ++ vsnprintf(&buffer[0], buffer.size(), fmt, vararg); ++ } ++ ++ return std::string(buffer.data(), len); ++} ++ ++std::string StringPrintf(const char *fmt, ...) { ++ va_list vararg; ++ va_start(vararg, fmt); ++ std::string result = FormatString(fmt, vararg); ++ va_end(vararg); ++ return result; ++} ++ ++std::string UintToString(unsigned int value) { ++ return StringPrintf("%u", value); ++} ++ ++std::string DoubleToString(double value) { ++ return StringPrintf("%.10lf", value); ++} ++ ++} ++ + std::string ResultsToString(const std::string& measurement, + const std::string& modifier, + const std::string& trace, diff --git a/tests/perf_tests/third_party/perf/perf_test.cc b/tests/perf_tests/third_party/perf/perf_test.cc new file mode 100644 index 00000000..73643306 --- /dev/null +++ b/tests/perf_tests/third_party/perf/perf_test.cc @@ -0,0 +1,239 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "perf_test.h" + +#include <stdio.h> +#include <stdarg.h> +#include <vector> + +namespace { + +namespace base { + +std::string FormatString(const char *fmt, va_list vararg) { + static std::vector<char> buffer(512); + + // Attempt to just print to the current buffer + int len = vsnprintf(&buffer[0], buffer.size(), fmt, vararg); + if (len < 0 || static_cast<size_t>(len) >= buffer.size()) { + // Buffer was not large enough, calculate the required size and resize the buffer + len = vsnprintf(NULL, 0, fmt, vararg); + buffer.resize(len + 1); + + // Print again + vsnprintf(&buffer[0], buffer.size(), fmt, vararg); + } + + return std::string(buffer.data(), len); +} + +std::string StringPrintf(const char *fmt, ...) { + va_list vararg; + va_start(vararg, fmt); + std::string result = FormatString(fmt, vararg); + va_end(vararg); + return result; +} + +std::string UintToString(unsigned int value) { + return StringPrintf("%u", value); +} + +std::string DoubleToString(double value) { + return StringPrintf("%.10lf", value); +} + +} + +std::string ResultsToString(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& values, + const std::string& prefix, + const std::string& suffix, + const std::string& units, + bool important) { + // <*>RESULT <graph_name>: <trace_name>= <value> <units> + // <*>RESULT <graph_name>: <trace_name>= {<mean>, <std deviation>} <units> + // <*>RESULT <graph_name>: <trace_name>= [<value>,value,value,...,] <units> + return base::StringPrintf("%sRESULT %s%s: %s= %s%s%s %s\n", + important ? "*" : "", measurement.c_str(), modifier.c_str(), + trace.c_str(), prefix.c_str(), values.c_str(), suffix.c_str(), + units.c_str()); +} + +void PrintResultsImpl(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& values, + const std::string& prefix, + const std::string& suffix, + const std::string& units, + bool important) { + fflush(stdout); + printf("%s", ResultsToString(measurement, modifier, trace, values, + prefix, suffix, units, important).c_str()); + fflush(stdout); +} + +} // namespace + +namespace perf_test { + +void PrintResult(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + size_t value, + const std::string& units, + bool important) { + PrintResultsImpl(measurement, + modifier, + trace, + base::UintToString(static_cast<unsigned int>(value)), + std::string(), + std::string(), + units, + important); +} + +void PrintResult(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + double value, + const std::string& units, + bool important) { + PrintResultsImpl(measurement, + modifier, + trace, + base::DoubleToString(value), + std::string(), + std::string(), + units, + important); +} + +void AppendResult(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + size_t value, + const std::string& units, + bool important) { + output += ResultsToString( + measurement, + modifier, + trace, + base::UintToString(static_cast<unsigned int>(value)), + std::string(), + std::string(), + units, + important); +} + +void PrintResult(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& value, + const std::string& units, + bool important) { + PrintResultsImpl(measurement, + modifier, + trace, + value, + std::string(), + std::string(), + units, + important); +} + +void AppendResult(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& value, + const std::string& units, + bool important) { + output += ResultsToString(measurement, + modifier, + trace, + value, + std::string(), + std::string(), + units, + important); +} + +void PrintResultMeanAndError(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& mean_and_error, + const std::string& units, + bool important) { + PrintResultsImpl(measurement, modifier, trace, mean_and_error, + "{", "}", units, important); +} + +void AppendResultMeanAndError(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& mean_and_error, + const std::string& units, + bool important) { + output += ResultsToString(measurement, modifier, trace, mean_and_error, + "{", "}", units, important); +} + +void PrintResultList(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& values, + const std::string& units, + bool important) { + PrintResultsImpl(measurement, modifier, trace, values, + "[", "]", units, important); +} + +void AppendResultList(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& values, + const std::string& units, + bool important) { + output += ResultsToString(measurement, modifier, trace, values, + "[", "]", units, important); +} + +void PrintSystemCommitCharge(const std::string& test_name, + size_t charge, + bool important) { + PrintSystemCommitCharge(stdout, test_name, charge, important); +} + +void PrintSystemCommitCharge(FILE* target, + const std::string& test_name, + size_t charge, + bool important) { + fprintf(target, "%s", SystemCommitChargeToString(test_name, charge, + important).c_str()); +} + +std::string SystemCommitChargeToString(const std::string& test_name, + size_t charge, + bool important) { + std::string trace_name(test_name); + std::string output; + AppendResult(output, + "commit_charge", + std::string(), + "cc" + trace_name, + charge, + "kb", + important); + return output; +} + +} // namespace perf_test diff --git a/tests/perf_tests/third_party/perf/perf_test.h b/tests/perf_tests/third_party/perf/perf_test.h new file mode 100644 index 00000000..36e2916c --- /dev/null +++ b/tests/perf_tests/third_party/perf/perf_test.h @@ -0,0 +1,116 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef TESTING_PERF_PERF_TEST_H_ +#define TESTING_PERF_PERF_TEST_H_ + +#include <string> + +namespace perf_test { + +// Prints numerical information to stdout in a controlled format, for +// post-processing. |measurement| is a description of the quantity being +// measured, e.g. "vm_peak"; |modifier| is provided as a convenience and +// will be appended directly to the name of the |measurement|, e.g. +// "_browser"; |trace| is a description of the particular data point, e.g. +// "reference"; |value| is the measured value; and |units| is a description +// of the units of measure, e.g. "bytes". If |important| is true, the output +// line will be specially marked, to notify the post-processor. The strings +// may be empty. They should not contain any colons (:) or equals signs (=). +// A typical post-processing step would be to produce graphs of the data +// produced for various builds, using the combined |measurement| + |modifier| +// string to specify a particular graph and the |trace| to identify a trace +// (i.e., data series) on that graph. +void PrintResult(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + size_t value, + const std::string& units, + bool important); +void PrintResult(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + double value, + const std::string& units, + bool important); + +void AppendResult(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + size_t value, + const std::string& units, + bool important); + +// Like the above version of PrintResult(), but takes a std::string value +// instead of a size_t. +void PrintResult(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& value, + const std::string& units, + bool important); + +void AppendResult(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& value, + const std::string& units, + bool important); + +// Like PrintResult(), but prints a (mean, standard deviation) result pair. +// The |<values>| should be two comma-separated numbers, the mean and +// standard deviation (or other error metric) of the measurement. +void PrintResultMeanAndError(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& mean_and_error, + const std::string& units, + bool important); + +void AppendResultMeanAndError(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& mean_and_error, + const std::string& units, + bool important); + +// Like PrintResult(), but prints an entire list of results. The |values| +// will generally be a list of comma-separated numbers. A typical +// post-processing step might produce plots of their mean and standard +// deviation. +void PrintResultList(const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& values, + const std::string& units, + bool important); + +void AppendResultList(std::string& output, + const std::string& measurement, + const std::string& modifier, + const std::string& trace, + const std::string& values, + const std::string& units, + bool important); + +// Prints memory commit charge stats for use by perf graphs. +void PrintSystemCommitCharge(const std::string& test_name, + size_t charge, + bool important); + +void PrintSystemCommitCharge(FILE* target, + const std::string& test_name, + size_t charge, + bool important); + +std::string SystemCommitChargeToString(const std::string& test_name, + size_t charge, + bool important); + +} // namespace perf_test + +#endif // TESTING_PERF_PERF_TEST_H_ diff --git a/tests/preprocessor_tests/MockDirectiveHandler.h b/tests/preprocessor_tests/MockDirectiveHandler.h index f2893fd9..3753f15b 100644 --- a/tests/preprocessor_tests/MockDirectiveHandler.h +++ b/tests/preprocessor_tests/MockDirectiveHandler.h @@ -16,10 +16,11 @@ class MockDirectiveHandler : public pp::DirectiveHandler MOCK_METHOD2(handleError, void(const pp::SourceLocation& loc, const std::string& msg)); - MOCK_METHOD3(handlePragma, + MOCK_METHOD4(handlePragma, void(const pp::SourceLocation& loc, const std::string& name, - const std::string& value)); + const std::string& value, + bool stdgl)); MOCK_METHOD3(handleExtension, void(const pp::SourceLocation& loc, diff --git a/tests/preprocessor_tests/pragma_test.cpp b/tests/preprocessor_tests/pragma_test.cpp index de0fa98c..25db7c76 100644 --- a/tests/preprocessor_tests/pragma_test.cpp +++ b/tests/preprocessor_tests/pragma_test.cpp @@ -18,7 +18,7 @@ TEST_F(PragmaTest, EmptyName) using testing::_; // No handlePragma calls. - EXPECT_CALL(mDirectiveHandler, handlePragma(_, _, _)).Times(0); + EXPECT_CALL(mDirectiveHandler, handlePragma(_, _, _, false)).Times(0); // No error or warning. EXPECT_CALL(mDiagnostics, print(_, _, _)).Times(0); @@ -32,7 +32,7 @@ TEST_F(PragmaTest, EmptyValue) using testing::_; EXPECT_CALL(mDirectiveHandler, - handlePragma(pp::SourceLocation(0, 1), "foo", "")); + handlePragma(pp::SourceLocation(0, 1), "foo", "", false)); // No error or warning. EXPECT_CALL(mDiagnostics, print(_, _, _)).Times(0); @@ -46,7 +46,35 @@ TEST_F(PragmaTest, NameValue) using testing::_; EXPECT_CALL(mDirectiveHandler, - handlePragma(pp::SourceLocation(0, 1), "foo", "bar")); + handlePragma(pp::SourceLocation(0, 1), "foo", "bar", false)); + // No error or warning. + EXPECT_CALL(mDiagnostics, print(_, _, _)).Times(0); + + preprocess(str, expected); +} + +TEST_F(PragmaTest, STDGL) +{ + const char* str = "#pragma STDGL\n"; + const char* expected = "\n"; + + using testing::_; + EXPECT_CALL(mDirectiveHandler, + handlePragma(_, _, _, _)).Times(0); + // No error or warning. + EXPECT_CALL(mDiagnostics, print(_, _, _)).Times(0); + + preprocess(str, expected); +} + +TEST_F(PragmaTest, STDGLInvariantAll) +{ + const char* str = "#pragma STDGL invariant(all)\n"; + const char* expected = "\n"; + + using testing::_; + EXPECT_CALL(mDirectiveHandler, + handlePragma(pp::SourceLocation(0, 1), "invariant", "all", true)); // No error or warning. EXPECT_CALL(mDiagnostics, print(_, _, _)).Times(0); @@ -74,7 +102,7 @@ TEST_F(PragmaTest, Comments) using testing::_; EXPECT_CALL(mDirectiveHandler, - handlePragma(pp::SourceLocation(0, 1), "foo", "bar")); + handlePragma(pp::SourceLocation(0, 1), "foo", "bar", false)); // No error or warning. EXPECT_CALL(mDiagnostics, print(_, _, _)).Times(0); @@ -89,7 +117,7 @@ TEST_F(PragmaTest, MissingNewline) using testing::_; // Pragma successfully parsed. EXPECT_CALL(mDirectiveHandler, - handlePragma(pp::SourceLocation(0, 1), "foo", "bar")); + handlePragma(pp::SourceLocation(0, 1), "foo", "bar", false)); // Error reported about EOF. EXPECT_CALL(mDiagnostics, print(pp::Diagnostics::PP_EOF_IN_DIRECTIVE, _, _)); @@ -108,7 +136,7 @@ TEST_P(InvalidPragmaTest, Identified) using testing::_; // No handlePragma calls. - EXPECT_CALL(mDirectiveHandler, handlePragma(_, _, _)).Times(0); + EXPECT_CALL(mDirectiveHandler, handlePragma(_, _, _, false)).Times(0); // Unrecognized pragma warning. EXPECT_CALL(mDiagnostics, print(pp::Diagnostics::PP_UNRECOGNIZED_PRAGMA, diff --git a/tests/tests.gyp b/tests/tests.gyp index 5985c34b..73d94db8 100644 --- a/tests/tests.gyp +++ b/tests/tests.gyp @@ -88,7 +88,6 @@ 'preprocessor_tests/preprocessor_test_main.cpp', ], }, - { 'target_name': 'compiler_tests', 'type': 'executable', @@ -112,33 +111,22 @@ [ 'compiler_tests/compiler_test_main.cpp', ], - }, - - { - 'target_name': 'angle_implementation_unit_tests', - 'type': 'executable', - 'dependencies': - [ - '../src/angle.gyp:libGLESv2_static', - 'gtest', - 'gmock', - ], - 'include_dirs': - [ - '../include', - '../src', - 'third_party/googletest/include', - 'third_party/googlemock/include', - ], - 'includes': - [ - '../build/common_defines.gypi', - 'angle_implementation_unit_tests/angle_implementation_unit_tests.gypi', - ], - 'sources': - [ - 'angle_implementation_unit_tests/angle_implementation_unit_tests_main.cpp', - ], + 'msvs_settings': + { + 'VCLinkerTool': + { + 'conditions': + [ + ['angle_build_winrt==1', + { + 'AdditionalDependencies': + [ + 'runtimeobject.lib', + ], + }], + ], + }, + }, }, ], @@ -199,7 +187,6 @@ [ '../src/angle.gyp:libGLESv2', '../src/angle.gyp:libEGL', - 'gtest', '../util/util.gyp:angle_util', ], 'include_dirs': @@ -211,11 +198,66 @@ [ 'perf_tests/BufferSubData.cpp', 'perf_tests/BufferSubData.h', + 'perf_tests/PointSprites.cpp', + 'perf_tests/PointSprites.h', 'perf_tests/SimpleBenchmark.cpp', 'perf_tests/SimpleBenchmark.h', 'perf_tests/SimpleBenchmarks.cpp', 'perf_tests/TexSubImage.cpp', 'perf_tests/TexSubImage.h', + 'perf_tests/third_party/perf/perf_test.cc', + 'perf_tests/third_party/perf/perf_test.h', + ], + }, + + { + 'target_name': 'angle_implementation_unit_tests', + 'type': 'executable', + 'dependencies': + [ + '../src/angle.gyp:libGLESv2_static', + 'gtest', + 'gmock', + ], + 'include_dirs': + [ + '../include', + '../src', + 'third_party/googletest/include', + 'third_party/googlemock/include', + ], + 'includes': + [ + '../build/common_defines.gypi', + 'angle_implementation_unit_tests/angle_implementation_unit_tests.gypi', + ], + 'sources': + [ + 'angle_implementation_unit_tests/angle_implementation_unit_tests_main.cpp', + ], + 'conditions': + [ + ['angle_build_winrt==1', + { + 'sources': + [ + 'angle_implementation_unit_tests/CoreWindowNativeWindow_unittest.cpp', + ], + 'defines': + [ + 'ANGLE_ENABLE_D3D11', + ], + 'msvs_settings': + { + 'VCLinkerTool': + { + 'AdditionalDependencies': + [ + 'runtimeobject.lib', + ], + }, + }, + }], ], }, ], diff --git a/util/EGLWindow.cpp b/util/EGLWindow.cpp index 6c5e38f8..2e013991 100644 --- a/util/EGLWindow.cpp +++ b/util/EGLWindow.cpp @@ -66,7 +66,7 @@ EGLContext EGLWindow::getContext() const return mContext; } -bool EGLWindow::initializeGL(const OSWindow *osWindow) +bool EGLWindow::initializeGL(OSWindow *osWindow) { PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT = reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(eglGetProcAddress("eglGetPlatformDisplayEXT")); if (!eglGetPlatformDisplayEXT) diff --git a/util/EGLWindow.h b/util/EGLWindow.h index e97522e0..b2e659be 100644 --- a/util/EGLWindow.h +++ b/util/EGLWindow.h @@ -29,8 +29,8 @@ class EGLWindow { public: EGLWindow(size_t width, size_t height, - EGLint glesMajorVersion = 2, - EGLint requestedRenderer = EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE); + EGLint glesMajorVersion, + EGLint requestedRenderer); ~EGLWindow(); @@ -49,6 +49,7 @@ class EGLWindow void swap(); GLuint getClientVersion() const { return mClientVersion; } + EGLint getRequestedRenderer() const { return mRequestedRenderer; } EGLConfig getConfig() const; EGLDisplay getDisplay() const; EGLSurface getSurface() const; @@ -64,7 +65,7 @@ class EGLWindow bool isMultisample() const { return mMultisample; } EGLint getSwapInterval() const { return mSwapInterval; } - bool initializeGL(const OSWindow *osWindow); + bool initializeGL(OSWindow *osWindow); void destroyGL(); private: diff --git a/util/OSWindow.h b/util/OSWindow.h index 7d25a1ea..03b1fc77 100644 --- a/util/OSWindow.h +++ b/util/OSWindow.h @@ -35,7 +35,7 @@ class OSWindow virtual void setMousePosition(int x, int y) = 0; virtual bool resize(int width, int height) = 0; - virtual bool setVisible(bool isVisible) = 0; + virtual void setVisible(bool isVisible) = 0; protected: int mWidth; diff --git a/samples/angle/sample_util/random_utils.cpp b/util/random_utils.cpp index b7b7ae3f..b7b7ae3f 100644 --- a/samples/angle/sample_util/random_utils.cpp +++ b/util/random_utils.cpp diff --git a/samples/angle/sample_util/random_utils.h b/util/random_utils.h index 42acc374..ea0c8537 100644 --- a/samples/angle/sample_util/random_utils.h +++ b/util/random_utils.h @@ -4,9 +4,9 @@ // found in the LICENSE file. // -#ifndef SAMPLE_UTIL_RANDOM_UTILS_H -#define SAMPLE_UTIL_RANDOM_UTILS_H +#ifndef UTIL_RANDOM_UTILS_H +#define UTIL_RANDOM_UTILS_H float RandomBetween(float min, float max); -#endif // SAMPLE_UTIL_RANDOM_UTILS_H +#endif // UTIL_RANDOM_UTILS_H diff --git a/util/shader_utils.cpp b/util/shader_utils.cpp index b83481f0..9bc41ae3 100644 --- a/util/shader_utils.cpp +++ b/util/shader_utils.cpp @@ -47,9 +47,9 @@ GLuint CompileShader(GLenum type, const std::string &source) glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); std::vector<GLchar> infoLog(infoLogLength); - glGetShaderInfoLog(shader, infoLog.size(), NULL, infoLog.data()); + glGetShaderInfoLog(shader, infoLog.size(), NULL, &infoLog[0]); - std::cerr << "shader compilation failed: " << infoLog.data(); + std::cerr << "shader compilation failed: " << &infoLog[0]; glDeleteShader(shader); shader = 0; @@ -101,9 +101,9 @@ GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource) glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLogLength); std::vector<GLchar> infoLog(infoLogLength); - glGetProgramInfoLog(program, infoLog.size(), NULL, infoLog.data()); + glGetProgramInfoLog(program, infoLog.size(), NULL, &infoLog[0]); - std::cerr << "program link failed: " << infoLog.data(); + std::cerr << "program link failed: " << &infoLog[0]; glDeleteProgram(program); return 0; diff --git a/util/testfixturetypes.h b/util/testfixturetypes.h new file mode 100644 index 00000000..69c03e05 --- /dev/null +++ b/util/testfixturetypes.h @@ -0,0 +1,78 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#ifndef UTIL_TEST_FIXTURE_TYPES_H +#define UTIL_TEST_FIXTURE_TYPES_H + +#include <EGL/egl.h> +#include <EGL/eglext.h> + +namespace Gles +{ + +struct Two +{ + static EGLint GetGlesMajorVersion() + { + return 2; + }; +}; + +struct Three +{ + static EGLint GetGlesMajorVersion() + { + return 3; + }; +}; + +} + +namespace Rend +{ + +struct D3D11 +{ + static EGLint GetRequestedRenderer() + { + return EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE; + }; +}; + +struct D3D9 +{ + static EGLint GetRequestedRenderer() + { + return EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE; + }; +}; + +struct WARP +{ + static EGLint GetRequestedRenderer() + { + return EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE; + }; +}; + +} + +// Test Fixture Type +template<typename GlesVersionT, typename RendererT> +struct TFT +{ + static EGLint GetGlesMajorVersion() + { + return GlesVersionT::GetGlesMajorVersion(); + } + + static EGLint GetRequestedRenderer() + { + return RendererT::GetRequestedRenderer(); + } +}; + +#endif // UTIL_TEST_FIXTURE_TYPES_H
\ No newline at end of file diff --git a/util/util.gyp b/util/util.gyp index 1bd29ff6..a81393ee 100644 --- a/util/util.gyp +++ b/util/util.gyp @@ -28,6 +28,8 @@ 'keyboard.h', 'mouse.h', 'path_utils.h', + 'random_utils.cpp', + 'random_utils.h', 'shader_utils.cpp', 'shader_utils.h', 'shared_utils.h', diff --git a/util/win32/Win32Window.cpp b/util/win32/Win32Window.cpp index ec5a0c0c..7099ed1b 100644 --- a/util/win32/Win32Window.cpp +++ b/util/win32/Win32Window.cpp @@ -380,6 +380,9 @@ bool Win32Window::initialize(const std::string &name, size_t width, size_t heigh mParentClassName = name; mChildClassName = name + "Child"; + // Work around compile error from not defining "UNICODE" while Chromium does + const LPSTR idcArrow = MAKEINTRESOURCEA(32512); + WNDCLASSEXA parentWindowClass = { 0 }; parentWindowClass.cbSize = sizeof(WNDCLASSEXA); parentWindowClass.style = 0; @@ -388,7 +391,7 @@ bool Win32Window::initialize(const std::string &name, size_t width, size_t heigh parentWindowClass.cbWndExtra = 0; parentWindowClass.hInstance = GetModuleHandle(NULL); parentWindowClass.hIcon = NULL; - parentWindowClass.hCursor = LoadCursorA(NULL, IDC_ARROW); + parentWindowClass.hCursor = LoadCursorA(NULL, idcArrow); parentWindowClass.hbrBackground = 0; parentWindowClass.lpszMenuName = NULL; parentWindowClass.lpszClassName = mParentClassName.c_str(); @@ -405,7 +408,7 @@ bool Win32Window::initialize(const std::string &name, size_t width, size_t heigh childWindowClass.cbWndExtra = 0; childWindowClass.hInstance = GetModuleHandle(NULL); childWindowClass.hIcon = NULL; - childWindowClass.hCursor = LoadCursorA(NULL, IDC_ARROW); + childWindowClass.hCursor = LoadCursorA(NULL, idcArrow); childWindowClass.hbrBackground = 0; childWindowClass.lpszMenuName = NULL; childWindowClass.lpszClassName = mChildClassName.c_str(); @@ -414,7 +417,7 @@ bool Win32Window::initialize(const std::string &name, size_t width, size_t heigh return false; } - DWORD parentStyle = WS_VISIBLE | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU; + DWORD parentStyle = WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU; DWORD parentExtendedStyle = WS_EX_APPWINDOW; RECT sizeRect = { 0, 0, width, height }; @@ -424,7 +427,7 @@ bool Win32Window::initialize(const std::string &name, size_t width, size_t heigh sizeRect.right - sizeRect.left, sizeRect.bottom - sizeRect.top, NULL, NULL, GetModuleHandle(NULL), this); - mNativeWindow = CreateWindowExA(0, mChildClassName.c_str(), name.c_str(), WS_VISIBLE | WS_CHILD, 0, 0, width, height, + mNativeWindow = CreateWindowExA(0, mChildClassName.c_str(), name.c_str(), WS_CHILD, 0, 0, width, height, mParentWindow, NULL, GetModuleHandle(NULL), this); mNativeDisplay = GetDC(mNativeWindow); @@ -533,12 +536,12 @@ bool Win32Window::resize(int width, int height) return true; } -bool Win32Window::setVisible(bool isVisible) +void Win32Window::setVisible(bool isVisible) { int flag = (isVisible ? SW_SHOW : SW_HIDE); - return (ShowWindow(mNativeWindow, flag) == TRUE) && - (ShowWindow(mParentWindow, flag) == TRUE); + ShowWindow(mParentWindow, flag); + ShowWindow(mNativeWindow, flag); } void Win32Window::pushEvent(Event event) diff --git a/util/win32/Win32Window.h b/util/win32/Win32Window.h index 7510f60f..43096199 100644 --- a/util/win32/Win32Window.h +++ b/util/win32/Win32Window.h @@ -29,7 +29,7 @@ class Win32Window : public OSWindow void setMousePosition(int x, int y); bool resize(int width, int height); - bool setVisible(bool isVisible); + void setVisible(bool isVisible); private: std::string mParentClassName; |