1#include "CapabilitiesD3D11.h"
3#include "Foundation/Logging/Logger.h"
24void Cogs::CapabilitiesD3D11::initialize(ID3D11Device * device)
27 IDXGIDevice * pDXGIDevice;
28 if (SUCCEEDED(device->QueryInterface(__uuidof(IDXGIDevice), (
void **)&pDXGIDevice)))
30 IDXGIAdapter * pDXGIAdapter;
31 if (SUCCEEDED(pDXGIDevice->GetAdapter(&pDXGIAdapter))) {
32 DXGI_ADAPTER_DESC adapterDesc;
33 if (SUCCEEDED(pDXGIAdapter->GetDesc(&adapterDesc))) {
34 LOG_INFO(logger,
"Adapter: %S", adapterDesc.Description);
35 for (
auto q : knownVendors) {
36 if (q.vendorId == adapterDesc.VendorId) {
42 std::wstring brand(adapterDesc.Description);
43 if (brand.find(L
"Iris")) {
44 if (brand.find(L
"Pro")) {
51 else if (brand.find(L
"Quadro")) {
55 LOG_WARNING(logger,
"Failed to dechiper card series.");
58 capabilities.DedicatedVideoMemory = adapterDesc.DedicatedVideoMemory;
59 capabilities.DedicatedSystemMemory = adapterDesc.DedicatedSystemMemory;
60 capabilities.SharedSystemMemory = adapterDesc.SharedSystemMemory;
62 pDXGIAdapter->Release();
64 pDXGIDevice->Release();
67 capabilities.GeometryShaders =
true;
68 capabilities.TessellationShaders =
true;
69 capabilities.ComputeShaders =
true;
70 capabilities.MaxTextureSlots = 32;
75 capabilities.TextureCompressionS3TC =
true;
76 capabilities.TextureCompressionRGTC =
true;
77 capabilities.TextureCompressionBPTC =
true;
80void Cogs::CapabilitiesD3D11::initialize(ID3D11Device1 * device)
82 initialize(
static_cast<ID3D11Device*
>(device));
83 capabilities.ConstantBufferRange =
true;
86void Cogs::CapabilitiesD3D11::initialize(ID3D11Device5* device)
88 initialize(
static_cast<ID3D11Device1*
>(device));
89 capabilities.SyncObjects =
true;
Log implementation class.
constexpr Log getLogger(const char(&name)[LEN]) noexcept
uint32_t MaxTexture3DSize
Using D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION as default.
uint32_t MaxTexture2DSize
Using D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION as default.
uint32_t MaxTextureCubeSize
Using D3D11_REQ_TEXTURECUBE_DIMENSION as default.
uint32_t MaxTextureArrayLayers
Using D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION as default.
@ Quadro
nVidia Quadro professional graphics adapters.
@ nVidia
nVidia Corporation.