Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP


Project maintained by walbourn Hosted on GitHub Pages — Theme by mattgraham
Home | Posts by Tag | Posts by Month

Windows 8.x now out of support

general

Chuck Walbourn -

As a reminder, Windows 8.1 end-of-life was January 10, 2023, as is the last day of extended Windows 7 support for enterprises. Windows 8.0 has been out of support for many years. Per the Valve Steam Hardware Survey Windows 8.1 was already down to just a few fractions of a percent for PC gamers.

I don’t have anything to say about whether or not Windows 8.x was a success as a product, as that is the subject of many recent technical press articles. Rather I wanted to focus on some of the investments from this era that continue through to the modern Windows platform.

Note: Windows 8 was when Secure Boot (UEFI) and the Microsoft Store was first added to the OS. Windows 32-bit also required NX, PAE, and SSE2 as of Windows 8 which improved security as well as making it more consistent with x64 native. XPDM driver support was also removed.

DirectX 11.x

DirectX 11.1 first shipped with Windows 8.0 and included a number of improvements particularly for Direct2D/DirectWrite interop plus Direct3D session 0 hardware access, WARP feature level 11.0 support, 16bpp pixel formats, and WIC2. The software subset of this work was also shipped for Windows 7.

DirectX 11.2 shipped in Windows 8.1 and primarily added tiled resource support, and put the legacy HLSL (FXC) compiler in the operating system.

A big change for Windows 8 is that the DirectX SDK itself was deprecated and the core content was added to the Windows SDK. This finished the transition of DirectX to being part of the OS that started with Windows XP SP2.

There were initially a lot of orphans from this migration, but long-time readers of the blog will know that fixing that has been a pet project of mine ever sense (i.e. utility code, samples, and developer tools.)

XAudio2

XAudio 2.8 and X3DAudio was included in the OS with Windows 8.0. This version included PCM and ADPCM support. xWMA support wasn’t added back until Windows 10–you can use XAudio2Redist to make sure it’s there for your title use. The redist version also cleans up some rough edges in that original Windows 8 release for handling device enumeration; the original release required you use Windows Runtime (WinRT) APIs.

XInput

XInput 1.4 was added in the Windows 8.0 release. XInput “9.1.0” is sufficient for most gamepad scenarios, but it’s been nice to be able to rely on the latest XInput features and fixes being present on Windows 8 or later.

Windows x64

Windows Vista started off 64-bit native as a mainstream platform, and set the stage for Windows 7. Windows 8.1 removed support for first-generation AMD64 and Intel64 CPUs which standardized the x64 native platform support for both the cmpxchg16b and prefetchw instructions.

Windows on ARM

Windows 8 introduced Windows on ARM beyond the Mobile SKUs. This was what motivated my initial work to add support for ARM-NEON to the DirectXMath library. The 32-bit version of ARM was a bit quirky, and I’m finding ARM64 a lot easier to target, but the ARM-NEON implementation uses largely the same intrinsics codepaths.

Update: Note that Steam is dropping support for Windows 8.x as of January 1, 2024.

Related: Windows 7, Windows Vista, Windows XP