Direct3D feature levels discussion

Discussion in 'Rendering Technology and APIs' started by DmitryKo, Feb 20, 2015.

  1. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    702
    Likes Received:
    588
    Location:
    55°38′33″ N, 37°28′37″ E
    A minor update to support new options in Windows 10 SDK build 18945, including mesh shader tier 1_0 :
    Code:
    Adapter Node 0:   ...  ProtectedResourceSessionTypeCount: 1 D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED
    MeshShaderTier : D3D12_MESH_SHADER_TIER_NOT_SUPPORTED (0)
    SamplerFeedbackTier : D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED (0)
     
    DavidGraham likes this.
  2. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    702
    Likes Received:
    588
    Location:
    55°38′33″ N, 37°28′37″ E
    Windows 10 build 18956 includes updated WARP12 (Microsoft Basic Render Driver) with support for variable-rate shading:

    Code:
    AdditionalShadingRatesSupported : 1
    PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
    VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_1 (1)
    ShadingRateImageTileSize : 0
    
     
    #982 DmitryKo, Aug 12, 2019
    Last edited: Aug 13, 2019
    Malo likes this.
  3. DavidGraham

    Veteran

    Joined:
    Dec 22, 2009
    Messages:
    2,820
    Likes Received:
    2,643
    Thought it was already supported in the previous version, what's new?
     
    #983 DavidGraham, Aug 13, 2019
    Last edited: Aug 13, 2019
  4. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    702
    Likes Received:
    588
    Location:
    55°38′33″ N, 37°28′37″ E
    #984 DmitryKo, Aug 13, 2019
    Last edited: Aug 13, 2019
    Dictator and DavidGraham like this.
  5. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    586
    Likes Received:
    291
    #985 Alessio1989, Aug 24, 2019
    Last edited: Aug 26, 2019
    Dictator and BRiT like this.
  6. oscarbg

    Newcomer

    Joined:
    Sep 2, 2009
    Messages:
    33
    Likes Received:
    10
    Nvidia 440.23 driver is WDDM2.7 big driver!
    enables D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT also on DX11 should be good for Far Cry 5 and Dawn..
    dxdiag reports for first time:
    (GPU) "Hardware Scheduling: Supported:True"
    anybody with a Turing card to see if enables Mesh shading on DX12?

    Direct3D 12 feature checker (July 2019) by DmitryKo (x64)
    https://forum.beyond3d.com/posts/1840641/
    Windows 10 version 1903 (build 18965.1005 rs_prerelease) x64
    Checking for experimental features SM6 TR4 FL1 META
    ADAPTER 0
    "NVIDIA TITAN V"
    VEN_10DE, DEV_1D81, SUBSYS_121810DE, REV_A1
    Dedicated video memory : 12079.0 MB (12665749504 bytes)
    Total video memory : 28441.5 MB (29823049728 bytes)
    Video driver version : 26.21.14.4023
    Maximum feature level : D3D_FEATURE_LEVEL_12_1 (0xc100)
    DoublePrecisionFloatShaderOps : 1
    OutputMergerLogicOp : 1
    MinPrecisionSupport : D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT (2) (0b0000'0010)
    TiledResourcesTier : D3D12_TILED_RESOURCES_TIER_3 (3)
    ResourceBindingTier : D3D12_RESOURCE_BINDING_TIER_3 (3)
    PSSpecifiedStencilRefSupported : 0
    TypedUAVLoadAdditionalFormats : 1
    ROVsSupported : 1
    ConservativeRasterizationTier : D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 (3)
    StandardSwizzle64KBSupported : 0
    CrossNodeSharingTier : D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED (0)
    CrossAdapterRowMajorTextureSupported : 0
    VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation : 1
    ResourceHeapTier : D3D12_RESOURCE_HEAP_TIER_1 (1)
    MaxGPUVirtualAddressBitsPerResource : 40
    MaxGPUVirtualAddressBitsPerProcess : 40
    Adapter Node 0: TileBasedRenderer: 0, UMA: 0, CacheCoherentUMA: 0, IsolatedMMU: 1, HeapSerializationTier: 0, ProtectedResourceSession.Support: 1, ProtectedResourceSessionTypeCount: 1 D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED
    HighestShaderModel : D3D12_SHADER_MODEL_6_4 (0x0064)
    WaveOps : 1
    WaveLaneCountMin : 32
    WaveLaneCountMax : 32
    TotalLaneCount : 5120
    ExpandedComputeResourceStates : 1
    Int64ShaderOps : 1
    RootSignature.HighestVersion : D3D_ROOT_SIGNATURE_VERSION_1_1 (2)
    DepthBoundsTestSupported : 1
    ProgrammableSamplePositionsTier : D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 (2)
    ShaderCache.SupportFlags : D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO | LIBRARY (3) (0b0000'0011)
    CopyQueueTimestampQueriesSupported : 1
    CastingFullyTypedFormatSupported : 1
    WriteBufferImmediateSupportFlags : D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT | BUNDLE | COMPUTE | COPY | VIDEO_DECODE | VIDEO_PROCESS | VIDEO_ENCODE (127) (0b0111'1111)
    ViewInstancingTier : D3D12_VIEW_INSTANCING_TIER_2 (2)
    BarycentricsSupported : 0
    ExistingHeaps.Supported : 1
    MSAA64KBAlignedTextureSupported : 1
    SharedResourceCompatibilityTier : D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_??? (2)
    Native16BitShaderOpsSupported : 1
    AtomicShaderInstructions : 0
    SRVOnlyTiledResourceTier3 : 1
    RenderPassesTier : D3D12_RENDER_PASS_TIER_0 (0)
    RaytracingTier : D3D12_RAYTRACING_TIER_1_0 (10)
    AdditionalShadingRatesSupported : 0
    PerPrimitiveShadingRateSupportedWithViewportIndexing : 0
    VariableShadingRateTier : D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED (0)
    ShadingRateImageTileSize : 0
    BackgroundProcessingSupported : 1
    MeshShaderTier : D3D12_MESH_SHADER_TIER_NOT_SUPPORTED (0)
    SamplerFeedbackTier : D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED (0)
    Metacommands enumerated : 8
    Metacommands [parameters per stage]: Conv (Convolution) [84][1][6], CopyTensor [3][1][31], 2x2 Nearest neighbour Upsample [15][1][2], MVN (Mean Variance Normalization) [67][1][6], GEMM (General matrix multiply) [67][1][6], Conv (Convolution) [108][5][6], GEMM (General matrix multiply) [91][5][6], MVN (Mean Variance Normalization) [91][5][6]
     
  7. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    702
    Likes Received:
    588
    Location:
    55°38′33″ N, 37°28′37″ E
    Fine, the Direct3D12 downlevel runtime can call the user-mode driver. However kernel-mode driver uses WDDM/DXGI which remain at version 1.1 as originally shipped in Windows 7 - so recent DXGI features like HDR formats, 3D stereo/VR quad-buffers, finer-grained multitasking, and a few others will not be available.

    The reported driver version number, 26.21.14.4023, refers to WDDM 2.6.
    Why would NVidia even bother with driver support? Mesh shader pipeline is not even fully implemented in the Windows SDK Preview, there's not much you can do besides getting the caps bit...
     
    BRiT likes this.
  8. oscarbg

    Newcomer

    Joined:
    Sep 2, 2009
    Messages:
    33
    Likes Received:
    10
    mi
    might be an oversight as dxdiag reports 2.7..
    big driver as lots of VK exts, also exposes atomic int64 on OpenCL for first time..
    also dxc on github now supports compiling mesh/AS shaders.. and api has dispatch mesh shaders.. so might be enough to test..
    also forgot to say 18965 SDK adds directml tiers ,dxva and d3d12 video AV1 profiles..
    just a wish, but would be nice if could upgrade your tool to check directml tiers and exposed video codecs on d3d12 api..
     
    DavidGraham likes this.
  9. oscarbg

    Newcomer

    Joined:
    Sep 2, 2009
    Messages:
    33
    Likes Received:
    10
    DXDIAG:
    Driver File Version: 26.21.0014.4023 (English)
    Driver Version: 26.21.14.4023
    DDI Version: 12
    Feature Levels: 12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1
    Driver Model: WDDM 2.7
    Hardware Scheduling: Supported:True Enabled:True
     
  10. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    586
    Likes Received:
    291
    3D stereo is practically dead (maybe AMD still support it via AGS), while HDR output present should be available in fullscreen using AGS and NVAPI I guess... But yess, DXGI 1.1 is the biggest limitation.
     
  11. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    702
    Likes Received:
    588
    Location:
    55°38′33″ N, 37°28′37″ E
    I may add DirectML feature levels at some point, but they are only available in Windows 20H1 and there are no docs yet.

    D3D12Video is way too complex, it would probably require a separate reporting utility with a different logic. Basically the output will be very, VERY large lists made from combining every codec/profile, video format, color space, resolution and framerate, and other quite arcane options, for each of the several video device types.
    Besides that, there are still no public docs, even though two years have passed, and SDK header file has no SAL annotations, so it's not instantly obvious what parameters the runtime will treat as input.

    NVAPI and AMD GPU Services cannot define their own resource formats - these are the responsibility of the WDDM/DXGI layer, which is a part of the OS kernel, and the the vendor-supplied kernel-mode video driver (DXGK).
    Virtual/Mixed/Augmented reality is also based on stereoscopic rendering - though Windows 7 is probably not the best platform for that - and AMD OpenGL/Vulkan drivers did support quad-buffer stereoscopy for ages.
     
  12. Alessio1989

    Regular Newcomer

    Joined:
    Jun 6, 2015
    Messages:
    586
    Likes Received:
    291
    Yes, AMD quad buffer is an old thing, and I didn't thing about VR but only on 3D stereo displays..

    As for HDR, IIRC Windows 7 supports DXGI_FORMAT_R16G16B16A16_FLOAT as swap chain format on flip mode, which is a supported HDR output on AGS.. I do not remember if RGB10 is also supported, but according to AGS documentation, it should work with agsSetDisplayMode.

    As for colour space that's the main issue, I guess it must be simulated via shader (for the lack of
    DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 support or DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 using RGB10), something like was needed XBOX 360 for sRGB (it uses a piecewise linear approximation for sRGB.. Valve made a presentation about it, using both runtime shader and offline texture conversions). But I never dealt with HDR presentation, so I may not estimate how much this is practical for HDR color space..

    As for paid video content (like Netflix 4K UHD), the lack of playready 3 is a no-go.
     
    #992 Alessio1989, Sep 2, 2019
    Last edited: Sep 6, 2019
  13. DmitryKo

    Regular

    Joined:
    Feb 26, 2002
    Messages:
    702
    Likes Received:
    588
    Location:
    55°38′33″ N, 37°28′37″ E
    I think I've made the tool run on Windows 7 and load the downlevel Direct3D12 runtime - if you bother to extract d3d12.dll from the "D3D12onWin7" Nuget package to the same directory or the "12on7" subfolder, as described in the developer specs. Build number from d3d12.dll file version info shall help skip unsupported features.
    It's not released yet - I need to test it on a Windows 7 computer with a D3D12 capable discrete card, as it won't run in a compatibility shim.
    It will also report the two DirectML feature levels on supporting builds - not sure whatever these levels are supposed to mean though, as both Radeon RX560 and WARP12 report feature level 2_0.
     
    #993 DmitryKo, Sep 4, 2019
    Last edited: Sep 4, 2019
  14. Dictator

    Newcomer

    Joined:
    Feb 11, 2011
    Messages:
    138
    Likes Received:
    347
    PSman1700, tinokun, DmitryKo and 6 others like this.
  15. DavidGraham

    Veteran

    Joined:
    Dec 22, 2009
    Messages:
    2,820
    Likes Received:
    2,643
    So we know Turing can do Mesh Shaders, question is, can it run Inline RT and DXR Tier 1.1?

    EDIT, DX12 now also supports Turing"s Texture Space Shading ..
     
    jlippo likes this.
  16. JoeJ

    Regular Newcomer

    Joined:
    Apr 1, 2018
    Messages:
    538
    Likes Received:
    631
    Pretty sure it can not because traversal and intersection is a FF unit - likely the traversal can not be made programmable. The question is: Will Ampere support it? Maybe the chip design was done before it turned oput programmable traversal could be so useful.
    I think the impact of this functionality is so big it could turn this first gen Turing RT kinda useless on the long run. But if Turing could support this already, i'd love to know it.

    I admit i was wrong when i thought they would never 'fix' the API. This traversal shader / inline RT stuff is awesome. Now my only remaining request is to expose BVH data structure with vendor extensions. :)
     
    Scott_Arm, DavidGraham and iroboto like this.
  17. pharma

    Veteran Regular

    Joined:
    Mar 29, 2004
    Messages:
    2,976
    Likes Received:
    1,658
    Curious about that since Nvidia's blog seems to indicate some level of conformity with microsoft's software changes. But we should know more fairly soon.
    https://news.developer.nvidia.com/dxr-tier-1-1/
     
    PSman1700, Dictator and JoeJ like this.
  18. JoeJ

    Regular Newcomer

    Joined:
    Apr 1, 2018
    Messages:
    538
    Likes Received:
    631
    Ok, now i think 'inline RT' likely means ability to launch rays from compute or pixel shaders but no programmable traversal? Not sure if traversal shaders made it into 1.1 at all.
     
  19. DegustatoR

    Veteran

    Joined:
    Mar 12, 2002
    Messages:
    1,336
    Likes Received:
    64
    Location:
    msk.ru/spb.ru
    There is no mention of "programmable traversal" anywhere in the links provided. AFAIK all new DX features of 20H1 will be supported on Turing GPUs.
     
  20. Ext3h

    Regular Newcomer

    Joined:
    Sep 4, 2015
    Messages:
    352
    Likes Received:
    302
    #1000 Ext3h, Oct 30, 2019
    Last edited: Oct 30, 2019
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...