diff --git a/src/d3d11/d3d11_resource.cpp b/src/d3d11/d3d11_resource.cpp index a2da5a31..2c3dee0a 100644 --- a/src/d3d11/d3d11_resource.cpp +++ b/src/d3d11/d3d11_resource.cpp @@ -9,18 +9,24 @@ namespace dxvk { auto texture = GetCommonTexture(pResource); if (buffer != nullptr) { + pDesc->Dim = D3D11_RESOURCE_DIMENSION_BUFFER; + pDesc->Format = DXGI_FORMAT_UNKNOWN; pDesc->Usage = buffer->Desc()->Usage; pDesc->BindFlags = buffer->Desc()->BindFlags; pDesc->CPUAccessFlags = buffer->Desc()->CPUAccessFlags; pDesc->MiscFlags = buffer->Desc()->MiscFlags; return S_OK; } else if (texture != nullptr) { + pResource->GetType(&pDesc->Dim); + pDesc->Format = texture->Desc()->Format; pDesc->Usage = texture->Desc()->Usage; pDesc->BindFlags = texture->Desc()->BindFlags; pDesc->CPUAccessFlags = texture->Desc()->CPUAccessFlags; pDesc->MiscFlags = texture->Desc()->MiscFlags; return S_OK; } else { + pDesc->Dim = D3D11_RESOURCE_DIMENSION_UNKNOWN; + pDesc->Format = DXGI_FORMAT_UNKNOWN; pDesc->Usage = D3D11_USAGE_DEFAULT; pDesc->BindFlags = 0; pDesc->CPUAccessFlags = 0; diff --git a/src/d3d11/d3d11_resource.h b/src/d3d11/d3d11_resource.h index b2a1a716..7b05196c 100644 --- a/src/d3d11/d3d11_resource.h +++ b/src/d3d11/d3d11_resource.h @@ -13,10 +13,12 @@ namespace dxvk { * legal to create a view for a given resource. */ struct D3D11_COMMON_RESOURCE_DESC { - D3D11_USAGE Usage; - UINT BindFlags; - UINT CPUAccessFlags; - UINT MiscFlags; + D3D11_RESOURCE_DIMENSION Dim; + DXGI_FORMAT Format; + D3D11_USAGE Usage; + UINT BindFlags; + UINT CPUAccessFlags; + UINT MiscFlags; };