Xbox One: DirectX 11.1+ AMD GPU , PS4: DirectX 11.2+ AMD GPU what's the difference?

http://semiaccurate.com/2013/09/03/xbox-ones-sound-block-is-much-more-than-audio/

Confirmation that the XB1 is using a slightly older GPU design... I guess that sheds more light on the subject at hand. ;)
That's an unqualified personal opinion, not proof. Without a source it's meaningless. With a qualified source like "sources we've spoken to," it's a rumour and still not proof. The source of this opinion may come down to the diagrams listing XB1 as DX11.1+ and PS4 as DX11.2+, and Charlie deciding XB1 is slightly older.
 
I know I'm a few days late to the party, but I spent a half hour or so trying to figure out what the difference is between the TIER1 and TIER2 feature levels exposed by DX11.2 for tiled resources. Unfortunately there's no documentation yet for the enumerations or the corresponding feature levels (or at least none that I could find), so all I have to go off is the sample code provided by MS. These are the major differences illustrated by the code:

  • TIER2 supports MIN and MAX texture sampling modes that return the min or max of 4 neighboring texels. In the sample they use this when sampling a residency texture that tells the shader the highest-resolution mip level that can be used when sampling a particular tile. For TIER1 they emulate it with a Gather.
  • TIER1 doesn't support sampling from unmapped tiles, so you have to either avoid it in your shader or map all unloaded tiles to dummy tile data (the sample does the latter)
  • TIER1 doesn't support packed mips for texture arrays
  • TIER2 supports a new version of Texture2D.Sample that lets you clamp the mip level to a certain value. They use this to force the shader to sample from lower-resolution mip levels if the higher-resolution mip isn't currently resident in memory. For TIER1 they emulate this by computing what mip level would normally be used, comparing it with the mip level available in memory, and then falling back to SampleLevel if the mip level needs to be clamped. There's also another overload for Sample that returns a status variable that you can pass to a new "CheckAccessFullyMapped" intrinsic that tells you if the sample operation would access unmapped tiles. The docs don't say that these functions are restricted to TIER2, but I would assume that to be the case.

Aside from those things, all of the core hardware functionality appears to be available with TIER1.
 
Last edited by a moderator:
I know I'm a few days late to the party, but I spent a half hour or so trying to figure out what the difference is between the TIER1 and TIER2 feature levels exposed by DX11.2 for tiled resources. Unfortunately there's no documentation yet for the enumerations or the corresponding feature levels (or at least none that I could find), so all I have to go off is the sample code provided by MS. These are the major differences illustrated by the code:

  • TIER2 supports MIN and MAX texture sampling modes that return the min or max of 4 neighboring texels. In the sample they use this when sampling a residency texture that tells the shader the highest-resolution mip level that can be used when sampling a particular tile. For TIER1 they emulate it with a Gather.
  • TIER1 doesn't support sampling from unmapped tiles, so you have to either avoid it in your shader or make map all unloaded tiles to dummy tile data (the sample does the latter)
  • TIER1 doesn't support packed mips for texture arrays
  • TIER2 supports a new version of Texture2D.Sample that lets you clamp the mip level to a certain value. They use this to force the shader to sample from lower-resolution mip levels if the higher-resolution mip isn't currently resident in memory. For TIER1 they emulate this by computing what mip level would normally be used, comparing it with the mip level available in memory, and then falling back to SampleLevel if the mip level needs to be clamped. There's also another overload for Sample that returns a status variable that you can pass to a new "CheckAccessFullyMapped" intrinsic that tells you if the sample operation would access unmapped tiles. The docs don't say that these functions are restricted to TIER2, but I would assume that to be the case.

Aside from those things, all of the core hardware functionality appears to be available with TIER1.
Thanks for the info. It's pretty much as I expected. I only had the DX11.2 online documentation and the online documentation didn't have any details about the differences of tier 1/2. I am likely getting a copy of Win 8.1 next month, so I can do some experiments on my own.

Basically on tier 1 HW this means that similar method needs to be used to determine page faults that was used for the software virtual texture implementations. But that's pretty much the most efficient way to do it, so the missing ChackAccessFullyMapped shouldn't hurt performance at all. The missing min/max filtering and the missing lod clamp for sampler mean that tier 1 hardware needs quite a few extra ALU instructions in the pixel shader. It shouldn't be a big deal for basic use scenarios, but when combined with per pixel displacement techniques (POM/QDM/etc) the extra ALU cost will start to hurt. And obviously if you use tiled resources for GPU SVO rendering, the extra ALU cost might hurt tier 1 hardware even more. But still, this is quite positive news. Tier 1 only requires some small changes in pixel shaders, and all the important parts are supported.
 
Tiers 5 wont be exposed until DirectX 11.4.
 
TIER1 and TIER2 are the only feature levels exposed by the API.
Sebbbi said that he is waiting for Windows 8.1 to come out to study the new features, and given the fact that things like Tiled Resources and Xbox One / Windows 8.1 are so closely related in terms of DirectX development, I guess that Xbox One's GPU being Tier 2 is really feasible now.

Talking of which, Shifty mentioned days ago that Tiled Resources gives Anisotropic Filtering for free, a technology which is truly important these days -I also recall Mintmaster (I kinda miss him writing in the console forums) saying time ago that AF is as essential as texture quality-. I wonder what's the equivalence to the AF value you get for free. 16x?
 
Talking of which, Shifty mentioned days ago that Tiled Resources gives Anisotropic Filtering for free, a technology which is truly important these days -I also recall Mintmaster (I kinda miss him writing in the console forums) saying time ago that AF is as essential as texture quality-. I wonder what's the equivalence to the AF value you get for free. 16x?

It doesn't provide "free anisotropic filtering", it just allows you to have virtualized textures with normal cost anisotropic filtering. When you're doing software virtual texturing without tiled resources, the shader has to perform anisotropic filtering manually instead of letting the hardware do it since all texture addresses need to go through an indirection map. This not only makes it more expensive, but puts practical limits on the maximum level of anisotropy that you can use. If I recall correctly this was an issue with RAGE, which had some weird mip filtering issues as well as limited AF level (4x I think?). With tiled resources the hardware does the indirection for you at the memory controller level, so the shader can sample the texture normally and the hardware does the filtering the way that it normally does. If you choose to use anisotropic filtering, then you still pay a cost proportional to the maximum number of samples.
 
Last edited by a moderator:
Talking of which, Shifty mentioned days ago that Tiled Resources gives Anisotropic Filtering for free,...
I most certainly did not! I haven't spoken about AF for ages. My doctor's sworn me off it. I know very little about tiled resources beyond the basic concepts and implementations, mostly learned off the likes of Sebbbi posting here. ;)
 
Sebbbi said that he is waiting for Windows 8.1 to come out to study the new features, and given the fact that things like Tiled Resources and Xbox One / Windows 8.1 are so closely related in terms of DirectX development, I guess that Xbox One's GPU being Tier 2 is really feasible now.

Talking of which, Shifty mentioned days ago that Tiled Resources gives Anisotropic Filtering for free, a technology which is truly important these days -I also recall Mintmaster (I kinda miss him writing in the console forums) saying time ago that AF is as essential as texture quality-. I wonder what's the equivalence to the AF value you get for free. 16x?

in this \\build2013\ presentation for Direct3D features in Dx11.2 ...

"Massive Virtual Textures for Games: Direct3D Tiled Resources" - http://channel9.msdn.com/Events/Build/2013/4-063

at the 9:30 mark for "Hardware Tiling" you get "Anistropic Filtering" for free! (this is in relation to the "Software Tiling" approach where AF is not free)
 
at the 9:30 mark for "Hardware Tiling" you get "Anistropic Filtering" for free! (this is in relation to the "Software Tiling" approach where AF is not free)

He means that its performed automatically by the GPU filter kernel and does not needed to be coded manually in your pixel shader. It's still the same cost in terms of bandwidth and interpolation resources as it's always been.
 
Back
Top