Commit 39b11018 by Austin Kinross Committed by Commit Bot

Remove Windows 8.1 (Store apps) and Windows Phone 8.1 support

ANGLE has moved onto the Windows 10 SDK, and is using new compiler features that aren't supported by the old Windows 8.1 toolchain. Support for the 8.1 projects has been broken in master for some time now. Since more and more developers are moving towards Windows 10, we are going to take a snapshot of ANGLE that includes 8.1 support and freeze it in a branch on github.com/microsoft/angle. If developers wish to compile for use ANGLE in 8.1 apps then they should use that branch going forward. Change-Id: Ifee2d8a8cc0332500e0bd338911d831e7624fa82 Reviewed-on: https://chromium-review.googlesource.com/374039 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent c4718040
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
{ {
'angle_path': '<(DEPTH)', 'angle_path': '<(DEPTH)',
'angle_build_winrt%': '0', 'angle_build_winrt%': '0',
'angle_build_winphone%': '0', 'angle_build_winrt_app_type_revision%': '10.0',
'angle_build_winrt_app_type_revision%': '8.1',
'angle_build_winrt_target_platform_ver%' : '', 'angle_build_winrt_target_platform_ver%' : '',
# angle_code is set to 1 for the core ANGLE targets defined in src/build_angle.gyp. # 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. # angle_code is set to 0 for test code, sample code, and third party code.
...@@ -75,10 +74,6 @@ ...@@ -75,10 +74,6 @@
'msvs_application_type_revision' : '<(angle_build_winrt_app_type_revision)', 'msvs_application_type_revision' : '<(angle_build_winrt_app_type_revision)',
'msvs_target_platform_version' : '<(angle_build_winrt_target_platform_ver)', 'msvs_target_platform_version' : '<(angle_build_winrt_target_platform_ver)',
}], }],
['angle_build_winphone==1',
{
'msvs_enable_winphone' : '1',
}],
], ],
'configurations': 'configurations':
{ {
...@@ -304,7 +299,7 @@ ...@@ -304,7 +299,7 @@
}, },
'conditions': 'conditions':
[ [
['angle_build_winrt==0 and OS == "win" and MSVS_VERSION != "2010e"', ['OS == "win"',
{ {
'Debug_x64': 'Debug_x64':
{ {
...@@ -333,28 +328,6 @@ ...@@ -333,28 +328,6 @@
}, },
}, },
}, # arm_Base }, # arm_Base
}],
['angle_build_winrt==1 and angle_build_winphone==0',
{
'Debug_x64':
{
'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
},
'Release_x64':
{
'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': 'Debug_ARM':
{ {
'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'], 'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'],
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/10', 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/10',
'angle_build_winrt%': '0', 'angle_build_winrt%': '0',
'angle_build_winphone%': '0',
# This works like the Ozone GBM platform in Chrome: # This works like the Ozone GBM platform in Chrome:
# - Generic Buffer Manager (gbm) to allocate buffers # - Generic Buffer Manager (gbm) to allocate buffers
...@@ -56,16 +55,6 @@ ...@@ -56,16 +55,6 @@
4251, # STL objects do not have DLL interface, needed by ShaderVars.h 4251, # STL objects do not have DLL interface, needed by ShaderVars.h
], ],
}], }],
# Normally the WinRT project should rely on the default SDK header include paths
# However, the WinPhone projects also need the Windows SDK path for DXProgrammableCapture.h
['angle_build_winrt==0 or angle_build_winphone==1',
{
'msvs_system_include_dirs':
[
'<(windows_sdk_path)/Include/shared',
'<(windows_sdk_path)/Include/um',
],
}],
], ],
'msvs_settings': 'msvs_settings':
{ {
......
...@@ -37,7 +37,7 @@ def generateProjects(generate_args): ...@@ -37,7 +37,7 @@ def generateProjects(generate_args):
gyp.main(args) gyp.main(args)
def generateWinRTProjects(generate_args, generation_dir, build_winphone, msvs_version, app_type_rev, def generateWinRTProjects(generate_args, generation_dir, msvs_version, app_type_rev,
target_platform_ver): target_platform_ver):
args = generate_args args = generate_args
appendCommonArgs(args) appendCommonArgs(args)
...@@ -50,7 +50,6 @@ def generateWinRTProjects(generate_args, generation_dir, build_winphone, msvs_ve ...@@ -50,7 +50,6 @@ def generateWinRTProjects(generate_args, generation_dir, build_winphone, msvs_ve
args.append('-Dangle_build_winrt=1') args.append('-Dangle_build_winrt=1')
args.append('-Dangle_build_winrt_app_type_revision=' + app_type_rev) args.append('-Dangle_build_winrt_app_type_revision=' + app_type_rev)
args.append('-Dangle_build_winrt_target_platform_ver=' + target_platform_ver) args.append('-Dangle_build_winrt_target_platform_ver=' + target_platform_ver)
args.append('-Dangle_build_winphone=' + ('1' if build_winphone else '0'))
args.append('-Dangle_enable_d3d9=0') args.append('-Dangle_enable_d3d9=0')
args.append('-Dangle_enable_gl=0') args.append('-Dangle_enable_gl=0')
args.append('-Dangle_enable_essl=0') args.append('-Dangle_enable_essl=0')
...@@ -73,12 +72,6 @@ if __name__ == '__main__': ...@@ -73,12 +72,6 @@ if __name__ == '__main__':
# Generate WinRT projects only if configured # Generate WinRT projects only if configured
if 'GYP_GENERATE_WINRT' in os.environ: if 'GYP_GENERATE_WINRT' in os.environ:
# Generate Windows 8.1 projects
args = sys.argv[1:]
generateWinRTProjects(args, "winrt/8.1/windows", False, "2013e", "8.1", "");
args = sys.argv[1:]
generateWinRTProjects(args, "winrt/8.1/windowsphone", True, "2013e", "8.1", "");
# Generate Windows 10 projects # Generate Windows 10 projects
args = sys.argv[1:] args = sys.argv[1:]
generateWinRTProjects(args, "winrt/10", False, "2015", "10.0", "10.0.10240.0"); generateWinRTProjects(args, "winrt/10", "2015", "10.0", "10.0.10240.0");
...@@ -8,7 +8,7 @@ ANGLE for Windows Store uses most of the same steps found in [ANGLE Development] ...@@ -8,7 +8,7 @@ ANGLE for Windows Store uses most of the same steps found in [ANGLE Development]
### Required Tools ### Required Tools
* [Visual Studio Community 2015](http://www.visualstudio.com/downloads/download-visual-studio-vs) * [Visual Studio Community 2015](http://www.visualstudio.com/downloads/download-visual-studio-vs)
* Required to build ANGLE on Windows and for the packaged Windows 8.1 SDK. * Required to build ANGLE on Windows and for the packaged Windows 10 SDK.
### Getting the source ### Getting the source
...@@ -29,8 +29,6 @@ git checkout master ...@@ -29,8 +29,6 @@ git checkout master
Gyp will generate multiple VS2015 solution files Gyp will generate multiple VS2015 solution files
* `winrt/10/src/angle.sln` for Windows 10 * `winrt/10/src/angle.sln` for Windows 10
* `winrt/8.1/windows/src/angle.sln` for Windows 8.1
* `winrt/8.1/windowsphone/src/angle.sln` for Windows Phone 8.1
### Building ANGLE ### Building ANGLE
......
...@@ -68,7 +68,7 @@ void DebugAnnotator11::setMarker(const wchar_t *markerName) ...@@ -68,7 +68,7 @@ void DebugAnnotator11::setMarker(const wchar_t *markerName)
bool DebugAnnotator11::getStatus() bool DebugAnnotator11::getStatus()
{ {
#if defined(ANGLE_ENABLE_WINDOWS_STORE) #if defined(ANGLE_ENABLE_WINDOWS_STORE)
#if (NTDDI_VERSION == NTDDI_WIN10) static_assert(NTDDI_VERSION >= NTDDI_WIN10, "GetStatus only works on Win10 and above");
initializeDevice(); initializeDevice();
if (mUserDefinedAnnotation != nullptr) if (mUserDefinedAnnotation != nullptr)
...@@ -77,38 +77,6 @@ bool DebugAnnotator11::getStatus() ...@@ -77,38 +77,6 @@ bool DebugAnnotator11::getStatus()
} }
return true; // Default if initializeDevice() failed return true; // Default if initializeDevice() failed
#elif defined(_DEBUG)
static bool underCapture = true;
// ID3DUserDefinedAnnotation::GetStatus doesn't work with the Graphics Diagnostics tools in
// Windows 8.1/Visual Studio 2013. We can use IDXGraphicsAnalysis, though.
// The call to GetDebugInterface1 only succeeds if the app is under capture.
// This should only be called in DEBUG mode.
// If an app links against DXGIGetDebugInterface1 in release mode then it will fail Windows
// Store ingestion checks.
// Cache the result to reduce the number of calls to DXGIGetDebugInterface1
static bool triedIDXGraphicsAnalysis = false;
if (!triedIDXGraphicsAnalysis)
{
IDXGraphicsAnalysis *graphicsAnalysis = nullptr;
HRESULT result = DXGIGetDebugInterface1(0, IID_PPV_ARGS(&graphicsAnalysis));
if (SUCCEEDED(result))
{
underCapture = (graphicsAnalysis != nullptr);
}
SafeRelease(graphicsAnalysis);
triedIDXGraphicsAnalysis = true;
}
return underCapture;
#else
// We can't detect GetStatus() on release WinRT 8.1 builds, so always return true.
return true;
#endif // (NTDDI_VERSION == NTDDI_WIN10) or _DEBUG
#else #else
// We can't detect GetStatus() on desktop ANGLE builds so always return true. // We can't detect GetStatus() on desktop ANGLE builds so always return true.
return true; return true;
......
...@@ -47,7 +47,6 @@ void Trim11::trim() ...@@ -47,7 +47,6 @@ void Trim11::trim()
#if defined (ANGLE_ENABLE_WINDOWS_STORE) #if defined (ANGLE_ENABLE_WINDOWS_STORE)
ID3D11Device* device = mRenderer->getDevice(); ID3D11Device* device = mRenderer->getDevice();
// IDXGIDevice3 is only supported on Windows 8.1 and Windows Phone 8.1 and above.
IDXGIDevice3 *dxgiDevice3 = d3d11::DynamicCastComObject<IDXGIDevice3>(device); IDXGIDevice3 *dxgiDevice3 = d3d11::DynamicCastComObject<IDXGIDevice3>(device);
if (dxgiDevice3) if (dxgiDevice3)
{ {
......
...@@ -167,17 +167,6 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, ...@@ -167,17 +167,6 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device,
HRESULT result = factory->CreateSwapChainForCoreWindow(device, mCoreWindow.Get(), &swapChainDesc, nullptr, newSwapChain.ReleaseAndGetAddressOf()); HRESULT result = factory->CreateSwapChainForCoreWindow(device, mCoreWindow.Get(), &swapChainDesc, nullptr, newSwapChain.ReleaseAndGetAddressOf());
if (SUCCEEDED(result)) 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); result = newSwapChain.CopyTo(swapChain);
} }
......
...@@ -995,10 +995,6 @@ ...@@ -995,10 +995,6 @@
{ {
'msvs_requires_importlibrary' : 'true', 'msvs_requires_importlibrary' : 'true',
}], }],
['angle_build_winphone==1',
{
'msvs_enable_winphone' : '1',
}],
], ],
}, },
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment