Эквивалент GetAvailableTextureMem в Direct3D 11 - PullRequest
1 голос
/ 11 марта 2012

Я ищу возможность получить оценку свободной памяти текстур в Direct3D, как это было возможно при использовании IDirect3DDevice9::GetAvailableTextureMem, но пока ничего не нашел.Есть предложения?

1 Ответ

0 голосов
/ 21 декабря 2012

Вы можете использовать этот фрагмент кода:

int getAviableVideoMemoryInBytes(ID3D11Device* pd3dDevice)
{
    assert(pd3dDevice);

    IDXGIDevice * pDXGIDevice = nullptr;
    HRESULT hr = pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);

    if( FAILED(hr) )
    {
        std::cout << "Failed to query interface IDXGIDevice" << std::endl;
    }

    IDXGIAdapter * pDXGIAdapter = nullptr;
    pDXGIDevice->GetAdapter(&pDXGIAdapter);

    DXGI_ADAPTER_DESC adapterDesc;
    pDXGIAdapter->GetDesc(&adapterDesc);

    pDXGIDevice->Release();

    return adapterDesc.DedicatedVideoMemory;
}
...