DX 12 Full Feature Level(s) Revealed

Discussion in 'Videocards - NVIDIA GeForce' started by DamnedLife, Mar 5, 2015.

  1. DamnedLife

    DamnedLife Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TRI-X OC
    I think this is a good find that everyone missed somehow?!

    [​IMG]

    It is from Channel 9 GDC 2015 Event and video title is: Advanced DirectX12 Graphics and Performance

    From what I can see (and es explained in the video) first level 12.0 is a transition level which includes CPU optimizations but second level 12.1 is GPU optimization oriented. AND also MAxwell 2nd gen supports FL 12.1!

    Here you go folks people who have gtx 960s, gtx 970s and gtx 980s such as myself have the first fully DirectX12 capable cards.
     
  2. fantaskarsef

    fantaskarsef Ancient Guru

    Messages:
    12,055
    Likes Received:
    4,139
    GPU:
    2080Ti @h2o
    Uhm I can't follow you, sorry :)

    I'm not pro enough to even understand anything on that little slide besides it says 'new feature levels' and 'feature level 12.0' and 'feature level 12.1'

    Wouldn't there be any official press release on this once they've had their presentation?
     
  3. DamnedLife

    DamnedLife Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TRI-X OC
    Here you go http://www.anandtech.com/show/8544/microsoft-details-direct3d-113-12-new-features
    Actually these were revealed some time ago (September 2014) BUT they were going to add some on top of these, instead they divided them into two groups with no addition. One lower and one higher: As lower 12_0 is actually 11.2 Tier 2 cards i.e. AMD GCN 1.1 (Rx 200 series except tonga). Higher level 12_1 is only Maxwells and AMD Tonga (GCN 1.2).

    12_0 -> CPU optimizations
    12_1 -> New "real" rendering features and GPU optimizations
     
  4. DamnedLife

    DamnedLife Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TRI-X OC

  5. fantaskarsef

    fantaskarsef Ancient Guru

    Messages:
    12,055
    Likes Received:
    4,139
    GPU:
    2080Ti @h2o
    Oh that one I've read back then. Didn't connect it thought until now ;)


    Hmmm well as I'm currently putting together my custom watercooling for my new rig featuring 980 sli, I can only hope that they will support 12.1...
     
  6. nanogenesis

    nanogenesis Maha Guru

    Messages:
    1,300
    Likes Received:
    5
    GPU:
    MSI R9 390X 1178|6350
    You say 12.1 has GPU level optimizations, does that mean more fps/performance outside cpu bottlenecks? Would conservative rasterization save video memory or something?
     
  7. DamnedLife

    DamnedLife Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TRI-X OC
    Yes if there is any voxels or voxelization in a game then any 12_1 gpu is hw accelerated on top of basic 12_0 features and Dx 12 CPU opimizations. Conservative Rasterization is used to speed up general voxelization and voxelization phase of VXGI if it is used. If a wall in a Dx 12 game is made up of voxels and it is destroyed then this feature really helps in performance for that scenario. Or if a Dx 12 game uses VXGI for illumination then it will be much faster on these cards that supports this feature.
     
  8. DamnedLife

    DamnedLife Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TRI-X OC
    Now some performance values from that video.

    Intel's Astroid field benchmark program is used.

    First off Dx 11:
    FPS: 28 CPU Utilization: 20% (Only 2 cores could be utilized)
    [​IMG]

    Now for basic Dx 12 with no extra features other than REAL multithreading all the astreoid rocks are drawn one by one in a loop(DrawLoop) just like Dx 11 but on all the cores! (Which is actually not so smart as you can see after this)
    FPS: 74 CPU Utilization: 38-39% (On all 4 cores and 8 threads available!)
    [​IMG]

    Dx 11 vs Dx 12 Multithreading and issuing command with all the cores can be seen here:
    [​IMG]
    On Dx 11 is till the middle of each cpu core graph, only 2 are active (and one verry jittery). But on Dx 12 all cores are active and really steady.

    OK! Now with the usage of descriptor tables (a sw feature of Dx 12) all the different astreoid rocks are drawn again with a loop(DrawLoop) but this time on a single descriptor table heap in a bindless fashion.
    FPS: 80 CPU Utilization: 35%
    [​IMG]



    THIS IS NOT ALL! What comes next is the motherload of CPU utilization!!

    Up until now all the rocks were drawn in a loop. A draw call was issued to all different cores of cpu at the end of each loop. But if you knew what is to be drawn for static/not changing parts of the game beforehand (like the developers do! :D) then you can describe all of the object to be drawn in one single descriptor table and then ExecuteIndirect (prepare what is to be drawn beforehand and execute it in one fell swoop) so all the different objects are drawn in exactly one instance all together (smartest possibility to render).
    [​IMG]
    DrawLoop on the left: Start drawing and don't stop until certain condition is met and when that is met stop drawing.
    ExecuteIndirect on the right: Draw everything that is in the DescriptorTable, all the asteroid rocks in one heap in that table.

    Dx 12 with ExecuteIndirect and Descriptor Heaps
    FPS:90 !! and CPU Utilization: ONLY 9% !!!!
    [​IMG]

    Summary
    [​IMG]
    One thing to note! That Dx 11 39.19ms CPU time is SERIAL! :puke2:
    Dx 12 33.41ms is total time spread across all the cores so actually each core in serialized is taking only 4.1ms of total cpu time!!!!

    AND Dx 12 Execute Indirect is taking only 5,69/8= 0,7ms of TOTAL CPU TIME
     
    Last edited: Mar 5, 2015
  9. DmitryKo

    DmitryKo Master Guru

    Messages:
    361
    Likes Received:
    105
    GPU:
    ASUS RX 5700 XT TUF
    I wouldn't say it that way. Direct3D 12 also includes feature levels 11_0 and 11_1 and optional features, so it's these levels which are "transitional".

    Levels 12_0 and 12_1 promote a few optional features from levels 11_0 and 11_1 to become mandatory, so I'd guess current level 11_1 cards like GCN 1.1 should support level 12_0, and so will Intel Skylake (and maybe Maxwell-1).
     
    Last edited: Mar 5, 2015
  10. Carfax

    Carfax Ancient Guru

    Messages:
    2,936
    Likes Received:
    467
    GPU:
    NVidia Titan Xp
    Wow that's extremely impressive! This has very big ramifications for PC gaming. With CPU overhead reduced by this much, you could use the CPU to drastically increase the quality of physics and A.I, as well as overall detail level.. :banana:
     

  11. Yxskaft

    Yxskaft Maha Guru

    Messages:
    1,463
    Likes Received:
    115
    GPU:
    GTX Titan Sli
    I assume Fermi is tier 1 and Kepler tier 2?
     
  12. DmitryKo

    DmitryKo Master Guru

    Messages:
    361
    Likes Received:
    105
    GPU:
    ASUS RX 5700 XT TUF
  13. thatguy91

    thatguy91 Ancient Guru

    Messages:
    6,644
    Likes Received:
    98
    GPU:
    XFX RX 480 RS 4 GB
    So, if the leak is true about the AMD R9-380X being a direct rebrand of the R9-290X, then it won't support DirectX 12.1, but the R9-390X and 370X etc will?
     
  14. dampflokfreund

    dampflokfreund Member Guru

    Messages:
    173
    Likes Received:
    5
    GPU:
    8600/8700M Series
    DX12.0 will include a lot of GPU optimizations too. In the end, it wont matter if its DX12.1 or 12.0 there are just a couple of minor improvements.
     
  15. DmitryKo

    DmitryKo Master Guru

    Messages:
    361
    Likes Received:
    105
    GPU:
    ASUS RX 5700 XT TUF
    I would actually name these [post=5000983]feature levels 11_2 and 11_3[/post], but what do I know...
     

  16. jbscotchman

    jbscotchman Ancient Guru

    Messages:
    5,271
    Likes Received:
    4,023
    GPU:
    MSI 1660 Ti Ventus
    By the time this is actually implemented in a decent amount of games I'll have built a whole new system by then. No reason to get that excited yet.
     
  17. DamnedLife

    DamnedLife Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    Sapphire R9 290X TRI-X OC
    Maxwell2 is tier 3 just look at the market share and consider just for a moment it is the latest gpu of the bunch and nearly all the demos ran on gtx 980s. Not talking about synthetic benches where there is only cpu improvement but game demos like fable legenda and unreal tournament. saying gcn supports tier 3 and 12.1 but maxwell just tier 2 and 12.0 is just plain stupid. Intel cpus thah will be released and latest current ones along with maxwell2 makes up 17% of market share from steam survey and these are current tier 3 gpus on the market today. Gcn 1.1 or 1.2 doesnt support conservative raster and there goes 12.1 and it is tier 2 for SRV stuff and tier 2 for UAV stuff. Maxwell2 is tier 3 SRV and tier 2 UAV.
     
  18. DmitryKo

    DmitryKo Master Guru

    Messages:
    361
    Likes Received:
    105
    GPU:
    ASUS RX 5700 XT TUF
    What the hell are you talking about?

    PS.
    http://channel9.msdn.com/Events/GDC/GDC-2015/Advanced-DirectX12-Graphics-and-Performance
    Resource Binding 6:40-9:30
    Feature Levels 12:40-15:00

    They say Feb'15 Steam Survey market share for Direct3D 12 capable cards conforming to varius Resource Binding tiers amounts to Tier1 39%, Tier2 44% and Tier3 17%. I bothered to actually analyze these Steam Survey stats and assuming that
    1. Intel Haswell/Broadwell and Nvidia Fermi are Tier 1,
    2. NVidia Kepler/Maxwell are Tier 2,
    3. AMD GCN (HD 7700+/8500+, Rx 240+) are Tier 3,
    the result came exactly the same: 39%, 44.3%, 16.7%. So the anonymous developer from AnandTech forums quoted above wasn't up to date with the current API spec.
     
    Last edited: Mar 8, 2015

Share This Page