Coder Social home page Coder Social logo

sawickiap / d3d12info Goto Github PK

View Code? Open in Web Editor NEW
92.0 4.0 7.0 52.13 MB

A Windows console tool that prints all the information about the GPU extracted using DXGI and Direct3D 12

License: MIT License

C++ 97.53% CMake 2.47%
direct3d12 dxgi d3d12 rendering graphics directx12 directx

d3d12info's Introduction

d3d12info's People

Contributors

devaniti avatar dsuoch-intel avatar sawickiap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

d3d12info's Issues

add missing D3D12_FEATURE_DATA_D3D12_OPTIONS12::RelaxedFormatCastingSupported

RelaxedFormatCastingSupported

Type: Out BOOL

Technically used to indicate support for the functionality that enables integer aliasing.

Requires the DirectX 12 Agility SDK 1.7 or later; otherwise, the value is always FALSE.

https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_feature_data_d3d12_options12

I guess fix would be to add

Print_BOOL(L"RelaxedFormatCastingSupported", o.RelaxedFormatCastingSupported);

within https://github.com/sawickiap/D3d12info/blob/master/Src/Main.cpp#L283

Is the report of WAVE_MMA correct?

Hey,
I was looking at the D3D12 report of WMMA and noticed that the check is overriding the result for the following values:

D3d12info/Src/Main.cpp

Lines 985 to 988 in 9b3d5db

data.K = 10;
data.AccumDataTypes = D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT | D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT16;
data.RequiredWaveLaneCountMin = 1;
data.RequiredWaveLaneCountMax = 2;

And I'm wondering why?, as it is hiding what exactly is reported by the check feature just before

For example, it would report this:

D3D12_FEATURE_DATA_WAVE_MMA:
----------------------------
InputDataType = D3D12_WAVE_MMA_INPUT_DATATYPE_BYTE, M = D3D12_WAVE_MMA_DIMENSION_16, N = D3D12_WAVE_MMA_DIMENSION_16:
    Supported = TRUE
    K = 10
    AccumDataTypes = 0x6
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT16
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT
    RequiredWaveLaneCountMin = 1
    RequiredWaveLaneCountMax = 2
InputDataType = D3D12_WAVE_MMA_INPUT_DATATYPE_FLOAT16, M = D3D12_WAVE_MMA_DIMENSION_16, N = D3D12_WAVE_MMA_DIMENSION_16:
    Supported = TRUE
    K = 10
    AccumDataTypes = 0x6
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT16
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT
    RequiredWaveLaneCountMin = 1
    RequiredWaveLaneCountMax = 2
InputDataType = D3D12_WAVE_MMA_INPUT_DATATYPE_FLOAT, M = D3D12_WAVE_MMA_DIMENSION_16, N = D3D12_WAVE_MMA_DIMENSION_16:
    Supported = TRUE
    K = 10
    AccumDataTypes = 0x6
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT16
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT
    RequiredWaveLaneCountMin = 1
    RequiredWaveLaneCountMax = 2

While If I remove the overrides, it reports this:

D3D12_FEATURE_DATA_WAVE_MMA:
----------------------------
InputDataType = D3D12_WAVE_MMA_INPUT_DATATYPE_BYTE, M = D3D12_WAVE_MMA_DIMENSION_16, N = D3D12_WAVE_MMA_DIMENSION_16:
    Supported = TRUE
    K = 16
    AccumDataTypes = 0x1
        D3D12_WAVE_MMA_ACCUM_DATATYPE_INT32
    RequiredWaveLaneCountMin = 32
    RequiredWaveLaneCountMax = 64
InputDataType = D3D12_WAVE_MMA_INPUT_DATATYPE_FLOAT16, M = D3D12_WAVE_MMA_DIMENSION_16, N = D3D12_WAVE_MMA_DIMENSION_16:
    Supported = TRUE
    K = 16
    AccumDataTypes = 0x2
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT16
    RequiredWaveLaneCountMin = 32
    RequiredWaveLaneCountMax = 64
InputDataType = D3D12_WAVE_MMA_INPUT_DATATYPE_FLOAT, M = D3D12_WAVE_MMA_DIMENSION_16, N = D3D12_WAVE_MMA_DIMENSION_16:
    Supported = TRUE
    K = 16
    AccumDataTypes = 0x4
        D3D12_WAVE_MMA_ACCUM_DATATYPE_FLOAT
    RequiredWaveLaneCountMin = 32
    RequiredWaveLaneCountMax = 64

Can submit a small PR to fix it if you want.

Can't build or run - parts of DirectX 12 Agility SDK 1.706.3-preview missing

Hi,

Great tool. I appreciate the updates.

I tried to build your project and it turns out parts of your DirectX 12 Agility SDK 1.706.3-preview are missing. In particular the "build" sub folder, which

  1. contains the header(s) you include in pch.hpp
  2. contains the DLL(s) we need at runtime

The reason is the first line in your .gitignore.

Ideally the project would also copy the DLLs (and PDBs) from the package <repository>\Src\ThirdParty\microsoft.direct3d.d3d12.1.706.3-preview\build\native\bin\x64 to the D3D12SDKPath <repository>\Src\build\d3d12 as a build step. In the current project configuration we probably only have to worry about x64.

The release is fine, it contains D3D12\D3D12Core.dll.

Btw, diffing your version of 1.706.3-preview with a freshly downloaded one shows additional differences. You might want to fully replace.

Thanks!

d3d12 video support?

It would be nice to be able to show d3d12 video support for GPUs like DXVAInfo does.

NvAPI_GPU_GetMemoryInfoEx wrong sizes

Lines 600 ff in NvApiData.cpp
Print_sizeKilobytes...
produce wrong output:
NvAPI_GPU_GetMemoryInfoEx - NV_GPU_MEMORY_INFO_EX::dedicatedVideoMemory = 8589934592 (0x200000000) KB (8.00 TB)

8 TERABYTES???

as opposed to
DXGI_ADAPTER_DESC3:
DedicatedVideoMemory = 8421113856 (0x1f5f00000) (7.84 GB)

~8 GIGABYTES correct

AgilitySDK 1.613 support..

Hi,
today is SM6.8 official release..
hope d3d12info (non preview executable) can be updated eventually..
thanks..

WDDM Caps/Feature support display

Any chance of also including the new WDDM 3.2 API for reporting of supported driver features?

https://learn.microsoft.com/en-us/windows-hardware/drivers/display/querying-wddm-feature-support-and-enablement

via

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/d3dkmthk/nf-d3dkmthk-d3dkmtisfeatureenabled

With these new API's it would be interesting to see if features such as Native GPU fence objects, DIrty-bit tracking or IOMMU remapping/isolation are supported for a given card, or if Hardware flip queue is enabled within a driver.

Good list of possible inclusions here with individual structures for each supported feature.
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/d3dkmddi/ne-d3dkmddi-_dxgk_queryadapterinfotype

How does this compare to DXDIAG?

Like I mentioned in the title: How does this compare to DXDIAG which is already installed on every windows pc? This might be something you want to write about in your README.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.