mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[d3d11] Implement D3D11.2 MapOnDefaultBuffers feature
Basically just allocates the buffer on a host-visible memory type, like DYNAMIC or STAGING buffers depending depending on the CPU access flags.
This commit is contained in:
parent
2cdbe2e6df
commit
6ce8450b12
@ -224,10 +224,15 @@ namespace dxvk {
|
||||
case D3D11_USAGE_DEFAULT:
|
||||
memoryFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
|
||||
|
||||
if (m_desc.BindFlags & D3D11_BIND_CONSTANT_BUFFER) {
|
||||
if ((m_desc.BindFlags & D3D11_BIND_CONSTANT_BUFFER) || m_desc.CPUAccessFlags) {
|
||||
memoryFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
|
||||
| VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
|
||||
}
|
||||
|
||||
if (m_desc.CPUAccessFlags & D3D11_CPU_ACCESS_READ) {
|
||||
memoryFlags |= VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
|
||||
memoryFlags &= ~VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
|
||||
}
|
||||
break;
|
||||
|
||||
case D3D11_USAGE_DYNAMIC:
|
||||
|
@ -1606,7 +1606,7 @@ namespace dxvk {
|
||||
info->TiledResourcesTier = D3D11_TILED_RESOURCES_NOT_SUPPORTED;
|
||||
info->MinMaxFiltering = FALSE;
|
||||
info->ClearViewAlsoSupportsDepthOnlyFormats = TRUE;
|
||||
info->MapOnDefaultBuffers = FALSE;
|
||||
info->MapOnDefaultBuffers = TRUE;
|
||||
} return S_OK;
|
||||
|
||||
case D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT: {
|
||||
|
Loading…
x
Reference in New Issue
Block a user