public HRESULT CreateVideoExtensionCommand([NativeTypeName("const D3D12_VIDEO_EXTENSION_COMMAND_DESC *")] D3D12_VIDEO_EXTENSION_COMMAND_DESC *pDesc, [NativeTypeName("const void *")] void *pCreationParameters, [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("const IID &")] Guid *riid, void **ppVideoExtensionCommand)
 {
     return(((delegate * unmanaged <ID3D12VideoDevice2 *, D3D12_VIDEO_EXTENSION_COMMAND_DESC *, void *, nuint, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[12]))((ID3D12VideoDevice2 *)Unsafe.AsPointer(ref this), pDesc, pCreationParameters, CreationParametersDataSizeInBytes, pProtectedResourceSession, riid, ppVideoExtensionCommand));
 }
        public int AllocateMemory1([NativeTypeName("const ALLOCATION_DESC*")] D3D12MA_ALLOCATION_DESC *pAllocDesc, [NativeTypeName("const D3D12_RESOURCE_ALLOCATION_INFO*")] D3D12_RESOURCE_ALLOCATION_INFO *pAllocInfo, ID3D12ProtectedResourceSession *pProtectedSession, D3D12MA_Allocation **ppAllocation)
        {
            if (!ValidateAllocateMemoryParameters(pAllocDesc, pAllocInfo, ppAllocation))
            {
                D3D12MA_ASSERT(false); // "Invalid arguments passed to Allocator::AllocateMemory1."
                return(E_INVALIDARG);
            }

            using var debugGlobalMutexLock = D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK();

            return(m_Pimpl->AllocateMemory1(pAllocDesc, pAllocInfo, pProtectedSession, ppAllocation));
        }
 public HRESULT CreateVideoProcessor1(uint NodeMask, [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc, uint NumInputStreamDescs, [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs, ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("const IID &")] Guid *riid, void **ppVideoProcessor)
 {
     return(((delegate * unmanaged <ID3D12VideoDevice2 *, uint, D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, uint, D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[11]))((ID3D12VideoDevice2 *)Unsafe.AsPointer(ref this), NodeMask, pOutputStreamDesc, NumInputStreamDescs, pInputStreamDescs, pProtectedResourceSession, riid, ppVideoProcessor));
 }
 public void SetProtectedResourceSession(ID3D12ProtectedResourceSession *pProtectedResourceSession)
 {
     ((delegate * unmanaged <ID3D12VideoDecodeCommandList2 *, ID3D12ProtectedResourceSession *, void>)(lpVtbl[24]))((ID3D12VideoDecodeCommandList2 *)Unsafe.AsPointer(ref this), pProtectedResourceSession);
 }
        public int CreateResource2([NativeTypeName("const ALLOCATION_DESC*")] D3D12MA_ALLOCATION_DESC *pAllocDesc, [NativeTypeName("const D3D12_RESOURCE_DESC1*")] D3D12_RESOURCE_DESC1 *pResourceDesc, D3D12_RESOURCE_STATES InitialResourceState, [NativeTypeName("const D3D12_CLEAR_VALUE*")] D3D12_CLEAR_VALUE *pOptimizedClearValue, ID3D12ProtectedResourceSession *pProtectedSession, D3D12MA_Allocation **ppAllocation, [NativeTypeName("REFIID")] Guid *riidResource, void **ppvResource)
        {
            if ((pAllocDesc == null) || (pResourceDesc == null) || (ppAllocation == null))
            {
                D3D12MA_ASSERT(false); // "Invalid arguments passed to Allocator::CreateResource2."
                return(E_INVALIDARG);
            }

            using var debugGlobalMutexLock = D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK();

            return(m_Pimpl->CreateResource2(pAllocDesc, pResourceDesc, InitialResourceState, pOptimizedClearValue, pProtectedSession, ppAllocation, riidResource, ppvResource));
        }
Example #6
0
 public void SetProtectedResourceSession([NativeTypeName("ID3D12ProtectedResourceSession *")] ID3D12ProtectedResourceSession *pProtectedResourceSession)
 {
     ((delegate * unmanaged <ID3D12VideoEncodeCommandList *, ID3D12ProtectedResourceSession *, void>)(lpVtbl[24]))((ID3D12VideoEncodeCommandList *)Unsafe.AsPointer(ref this), pProtectedResourceSession);
 }
Example #7
0
 public int CreateCommittedResource2([NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES *pHeapProperties, D3D12_HEAP_FLAGS HeapFlags, [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1 *pDesc, D3D12_RESOURCE_STATES InitialResourceState, [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE *pOptimizedClearValue, ID3D12ProtectedResourceSession *pProtectedSession, [NativeTypeName("const IID &")] Guid *riidResource, void **ppvResource)
 {
     return(((delegate * unmanaged <ID3D12Device8 *, D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[69]))((ID3D12Device8 *)Unsafe.AsPointer(ref this), pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, pProtectedSession, riidResource, ppvResource));
 }
Example #8
0
 public void SetProtectedResourceSession([NativeTypeName("ID3D12ProtectedResourceSession *")] ID3D12ProtectedResourceSession *pProtectedResourceSession)
 {
     ((delegate * stdcall <ID3D12GraphicsCommandList4 *, ID3D12ProtectedResourceSession *, void>)(lpVtbl[67]))((ID3D12GraphicsCommandList4 *)Unsafe.AsPointer(ref this), pProtectedResourceSession);
 }
Example #9
0
 public int CreateHeap1([NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC *pDesc, ID3D12ProtectedResourceSession *pProtectedSession, [NativeTypeName("const IID &")] Guid *riid, void **ppvHeap)
 {
     return(((delegate * unmanaged <ID3D12Device8 *, D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[54]))((ID3D12Device8 *)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap));
 }
 public int CreateDirect3D12HardwareProtectedBackBufferResource(ID3D12Device *pDevice, D3D12_RESOURCE_DESC *pTexture2DDesc, ID3D12ProtectedResourceSession *pProtectedResourceSession, ID3D12Resource **ppCreatedTexture2DResource)
 {
     return(((delegate * unmanaged <IHolographicCameraInterop *, ID3D12Device *, D3D12_RESOURCE_DESC *, ID3D12ProtectedResourceSession *, ID3D12Resource **, int>)(lpVtbl[7]))((IHolographicCameraInterop *)Unsafe.AsPointer(ref this), pDevice, pTexture2DDesc, pProtectedResourceSession, ppCreatedTexture2DResource));
 }
 public int CreateVideoMotionEstimator([NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *")] D3D12_VIDEO_MOTION_ESTIMATOR_DESC *pDesc, [NativeTypeName("ID3D12ProtectedResourceSession *")] ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("const IID &")] Guid *riid, [NativeTypeName("void **")] void **ppVideoMotionEstimator)
 {
     return(((delegate * unmanaged <ID3D12VideoDevice1 *, D3D12_VIDEO_MOTION_ESTIMATOR_DESC *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[7]))((ID3D12VideoDevice1 *)Unsafe.AsPointer(ref this), pDesc, pProtectedResourceSession, riid, ppVideoMotionEstimator));
 }
Example #12
0
 public void SetProtectedResourceSession(ID3D12ProtectedResourceSession *pProtectedResourceSession)
 {
     ((delegate * unmanaged <ID3D12GraphicsCommandList6 *, ID3D12ProtectedResourceSession *, void>)(lpVtbl[67]))((ID3D12GraphicsCommandList6 *)Unsafe.AsPointer(ref this), pProtectedResourceSession);
 }
Example #13
0
        public int CreateResource2([NativeTypeName("UINT64")] ulong size, [NativeTypeName("UINT64")] ulong alignment, [NativeTypeName("const D3D12MA_ALLOCATION_DESC&")] D3D12MA_ALLOCATION_DESC *allocDesc, [NativeTypeName("const D3D12_RESOURCE_DESC1&")] D3D12_RESOURCE_DESC1 *resourceDesc, D3D12_RESOURCE_STATES InitialResourceState, [NativeTypeName("const D3D12_CLEAR_VALUE&")] D3D12_CLEAR_VALUE *pOptimizedClearValue, ID3D12ProtectedResourceSession *pProtectedSession, D3D12MA_Allocation **ppAllocation, [NativeTypeName("REFIID")] Guid *riidResource, void **ppvResource)
        {
            D3D12MA_ASSERT((D3D12MA_DEBUG_LEVEL > 0) && (pProtectedSession == null)); // "Should never get here. pProtectedSession != NULL currently requires committed resources."

            ID3D12Device8 *device8 = m_hAllocator->GetDevice8();

            if (device8 == null)
            {
                return(E_NOINTERFACE);
            }

            HRESULT hr = Allocate(size, alignment, allocDesc, 1, ppAllocation);

            if (SUCCEEDED(hr))
            {
                ID3D12Resource *res = null;
                hr = device8->CreatePlacedResource1(
                    (*ppAllocation)->m_Placed.block->GetHeap(),
                    (*ppAllocation)->GetOffset(),
                    resourceDesc,
                    InitialResourceState,
                    pOptimizedClearValue,
                    __uuidof <ID3D12Resource>(), (void **)&res
                    );

                if (SUCCEEDED(hr))
                {
                    if (ppvResource != null)
                    {
                        hr = res->QueryInterface(riidResource, ppvResource);
                    }

                    if (SUCCEEDED(hr))
                    {
                        (*ppAllocation)->SetResource(res, resourceDesc);
                    }
                    else
                    {
                        res->Release();
                        SAFE_RELEASE(ref *ppAllocation);
                    }
                }
                else
                {
                    SAFE_RELEASE(ref *ppAllocation);
                }
            }

            return(hr);
        }
 public int CreateVideoDecoderHeap1([NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc, [NativeTypeName("ID3D12ProtectedResourceSession *")] ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("const IID &")] Guid *riid, [NativeTypeName("void **")] void **ppVideoDecoderHeap)
 {
     return(((delegate * stdcall <ID3D12VideoDevice2 *, D3D12_VIDEO_DECODER_HEAP_DESC *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[10]))((ID3D12VideoDevice2 *)Unsafe.AsPointer(ref this), pVideoDecoderHeapDesc, pProtectedResourceSession, riid, ppVideoDecoderHeap));
 }
 public HRESULT CreateVideoMotionVectorHeap([NativeTypeName("const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *")] D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *pDesc, ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("const IID &")] Guid *riid, void **ppVideoMotionVectorHeap)
 {
     return(((delegate * unmanaged <ID3D12VideoDevice2 *, D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[8]))((ID3D12VideoDevice2 *)Unsafe.AsPointer(ref this), pDesc, pProtectedResourceSession, riid, ppVideoMotionVectorHeap));
 }
Example #16
0
 public int CreateReservedResource1([NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC *pDesc, D3D12_RESOURCE_STATES InitialState, [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE *pOptimizedClearValue, ID3D12ProtectedResourceSession *pProtectedSession, [NativeTypeName("const IID &")] Guid *riid, void **ppvResource)
 {
     return(((delegate * unmanaged <ID3D12Device8 *, D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[55]))((ID3D12Device8 *)Unsafe.AsPointer(ref this), pDesc, InitialState, pOptimizedClearValue, pProtectedSession, riid, ppvResource));
 }
 public HRESULT CreateVideoDecoder1([NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC *pDesc, ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("const IID &")] Guid *riid, void **ppVideoDecoder)
 {
     return(((delegate * unmanaged <ID3D12VideoDevice2 *, D3D12_VIDEO_DECODER_DESC *, ID3D12ProtectedResourceSession *, Guid *, void **, int>)(lpVtbl[9]))((ID3D12VideoDevice2 *)Unsafe.AsPointer(ref this), pDesc, pProtectedResourceSession, riid, ppVideoDecoder));
 }
 public int CreateDirect3D12HardwareProtectedContentBufferResource([NativeTypeName("ID3D12Device *")] ID3D12Device *pDevice, [NativeTypeName("D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC *pTexture2DDesc, [NativeTypeName("ID3D12ProtectedResourceSession *")] ID3D12ProtectedResourceSession *pProtectedResourceSession, [NativeTypeName("ID3D12Resource **")] ID3D12Resource **ppCreatedTexture2DResource)
 {
     return(((delegate * unmanaged <IHolographicQuadLayerInterop *, ID3D12Device *, D3D12_RESOURCE_DESC *, ID3D12ProtectedResourceSession *, ID3D12Resource **, int>)(lpVtbl[7]))((IHolographicQuadLayerInterop *)Unsafe.AsPointer(ref this), pDevice, pTexture2DDesc, pProtectedResourceSession, ppCreatedTexture2DResource));
 }