internal D3D12GraphicsMemoryBlockCollection(ulong blockMinimumSize, ulong blockPreferredSize, ulong blockMarginSize, ulong blockMinimumFreeRegionSizeToRegister, GraphicsMemoryAllocator allocator, nuint minimumBlockCount, nuint maximumBlockCount, D3D12_HEAP_FLAGS d3d12HeapFlags, D3D12_HEAP_TYPE d3d12HeapType)
     : base(blockMinimumSize, blockPreferredSize, blockMarginSize, blockMinimumFreeRegionSizeToRegister, allocator, minimumBlockCount, maximumBlockCount)
 {
     _d3d12HeapFlags = d3d12HeapFlags;
     _d3d12HeapType  = d3d12HeapType;
 }
Ejemplo n.º 2
0
        public D3D12_HEAP_PROPERTIES GetCustomHeapProperties([NativeTypeName("UINT")] uint nodeMask, D3D12_HEAP_TYPE heapType)
        {
            D3D12_HEAP_PROPERTIES result;

            return(*((delegate * stdcall <ID3D12Device8 *, D3D12_HEAP_PROPERTIES *, uint, D3D12_HEAP_TYPE, D3D12_HEAP_PROPERTIES *>)(lpVtbl[26]))((ID3D12Device8 *)Unsafe.AsPointer(ref this), &result, nodeMask, heapType));
        }
Ejemplo n.º 3
0
        internal static void _ctor(ref D3D12MA_BlockVector pThis, D3D12MA_AllocatorPimpl *hAllocator, D3D12_HEAP_TYPE heapType, D3D12_HEAP_FLAGS heapFlags, [NativeTypeName("UINT64")] ulong preferredBlockSize, [NativeTypeName("size_t")] nuint minBlockCount, [NativeTypeName("size_t")] nuint maxBlockCount, bool explicitBlockSize)
        {
            pThis.m_hAllocator         = hAllocator;
            pThis.m_HeapType           = heapType;
            pThis.m_HeapFlags          = heapFlags;
            pThis.m_PreferredBlockSize = preferredBlockSize;
            pThis.m_MinBlockCount      = minBlockCount;
            pThis.m_MaxBlockCount      = maxBlockCount;
            pThis.m_ExplicitBlockSize  = explicitBlockSize;
            pThis.m_MinBytes           = 0;
            pThis.m_HasEmptyBlock      = false;
            D3D12MA_Vector <Pointer <D3D12MA_NormalBlock> > ._ctor(ref pThis.m_Blocks, hAllocator->GetAllocs());

            pThis.m_NextBlockId = 0;

            D3D12MA_RW_MUTEX._ctor(ref pThis.m_Mutex);
        }
Ejemplo n.º 4
0
    public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType)
    {
        D3D12_HEAP_PROPERTIES result;

        return(*((delegate * unmanaged <ID3D12Device1 *, D3D12_HEAP_PROPERTIES *, uint, D3D12_HEAP_TYPE, D3D12_HEAP_PROPERTIES *>)(lpVtbl[26]))((ID3D12Device1 *)Unsafe.AsPointer(ref this), &result, nodeMask, heapType));
    }
 internal D3D12GraphicsMemoryBlockCollection(D3D12GraphicsDevice device, D3D12GraphicsMemoryAllocator allocator, D3D12_HEAP_FLAGS d3d12HeapFlags, D3D12_HEAP_TYPE d3d12HeapType)
     : base(device, allocator)
 {
     _d3d12HeapFlags = d3d12HeapFlags;
     _d3d12HeapType  = d3d12HeapType;
 }