On paper, Tegra 4 is an OpenGL ES 2.0 architecture. It’s missing just a couple of capabilities that would have been required for ES 3.0 compatibility—mainly, FP32 precision (plus the formats that go along with it) and ETC2 RGB compression. Neither is significant, Nvidia argues. The precision would only be important for general-purpose computing, while Tegra 4 does support DXT compression to achieve many of the same things as ETC2.
On the DirectX side, Tegra 4’s GPU supports the Direct3D 9_1 feature level. Higher feature levels want FP32 precision in the fragment shader as well, and Nvidia’s is limited to FP20. They also want R32F format support, along with a couple of other texture formats that Tegra 4 can’t do. The company says it’s in talks with Microsoft to expose the 9_3 surface formats though, which are supported in hardware and used for HDR, without the API’s precision requirement. Until something happens there, higher-level features like instancing can’t be used under Windows RT.
Even still, Tegra 4 includes a host of new features that Nvidia believes will improve the quality of optimized games. Take anti-aliasing support as an example. Previously, Tegra 3 offered coverage sampling anti-aliasing, which calculated coverage values within a pixel. Because the value of a coverage sample depends on the pixel’s composition, however, CSAA ranges from somewhat to not at all effective. Tegra 4 solves this with full 2x and 4x multi-sample anti-aliasing support, aided by the implementation of color and Z compression.
Tegra 4 also picks up a 24-bit Z- and 8-bit stencil buffer, compared to Tegra 3’s 16-bit Z-buffer. Array textures, cube maps, and texture border color likewise make Nvidia’s list of added features.
The inclusion of depth textures and percentage closer filtering are for shadow maps, allowing high-quality shadows with filtering around the edges. Of course, it’s possible to achieve more realism with DirectX 11 and a TFLOP-class GPU. But this DirectX 9-era technique is still the way some console titles handle shadows. It’s not completely free in Tegra 4; it’s a hardware-based feature though, so you don’t have to burn shader cycles on the filtering.
Nvidia upgrades Tegra 4’s maximum texture resolution to 4K x 4K, up from Tegra 3’s 2K x 2K. In theory, that makes it possible for a game developer to use assets from a PC or console title, yielding nice high-res textures.
Beyond better-looking textures, Nvidia says there are a number of games in development with true HDR. Tegra 4 enables these with FP16 filter and blend support, MRTs, and the requisite surface formats. This was some of the most talked about functionality back in the GeForce 6800 days (remember the Far Cry 1.3 patch that added HDR support to an already gorgeous-looking game?). Now, eight years later, we’re getting a taste of it in the mobile space.