diff --git a/src/D3D12MemAlloc.cpp b/src/D3D12MemAlloc.cpp
index d5279f7..bcd7287 100644
--- a/src/D3D12MemAlloc.cpp
+++ b/src/D3D12MemAlloc.cpp
@@ -86,6 +86,15 @@
    #define D3D12MA_DEFAULT_BLOCK_SIZE (256ull * 1024 * 1024)
 #endif
 
+#ifndef D3D12MA_EXTRA_DEFAULT_TYPE_HEAP_FLAGS
+    /*
+    Here you can control additional heap flags added to heaps/resources created in DEFAULT heap type.
+    It's mostly for automatic usage of the cryptic, undocumented flag D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS.
+    Its absence doesn't seem to change anything but better to use it always, just in case.
+    */
+    #define D3D12MA_EXTRA_DEFAULT_TYPE_HEAP_FLAGS (D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS)
+#endif
+
 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
 //
@@ -3840,9 +3849,13 @@
 
     D3D12_HEAP_PROPERTIES heapProps = {};
     heapProps.Type = pAllocDesc->HeapType;
+
+    const D3D12_HEAP_FLAGS heapFlags = pAllocDesc->HeapType == D3D12_HEAP_TYPE_DEFAULT ?
+        D3D12MA_EXTRA_DEFAULT_TYPE_HEAP_FLAGS : D3D12_HEAP_FLAG_NONE;
+
     ID3D12Resource* res = NULL;
     HRESULT hr = m_Device->CreateCommittedResource(
-        &heapProps, D3D12_HEAP_FLAG_NONE, pResourceDesc, InitialResourceState,
+        &heapProps, heapFlags, pResourceDesc, InitialResourceState,
         pOptimizedClearValue, riidResource, (void**)&res);
     if(SUCCEEDED(hr))
     {
@@ -3889,6 +3902,11 @@
         }
     }
 
+    if(pAllocDesc->HeapType == D3D12_HEAP_TYPE_DEFAULT)
+    {
+        heapFlags |= D3D12MA_EXTRA_DEFAULT_TYPE_HEAP_FLAGS;
+    }
+
     D3D12_HEAP_DESC heapDesc = {};
     heapDesc.SizeInBytes = allocInfo.SizeInBytes;
     heapDesc.Properties.Type = pAllocDesc->HeapType;
@@ -4026,6 +4044,11 @@
     default:
         D3D12MA_ASSERT(0);
     }
+
+    if(outHeapType == D3D12_HEAP_TYPE_DEFAULT)
+    {
+        outHeapFlags |= D3D12MA_EXTRA_DEFAULT_TYPE_HEAP_FLAGS;
+    }
 }
 
 void AllocatorPimpl::RegisterCommittedAllocation(Allocation* alloc, D3D12_HEAP_TYPE heapType)
