Метод IHolographicCameraInterop::AcquireDirect3D12BufferResource (windows.graphics.holographic.interop.h)
Метод AcquireDirect3D12BufferResource переводит владение ресурсом обратного буфера Direct3D 12 с платформы на приложение. Если ваше приложение уже владеет управлением ресурсом, приобретение по-прежнему считается успешным.
После фиксации ресурса в HolographicFrame путем вызова метода IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource приложение должно рассматривать управление этим ресурсом как принадлежащее системе до тех пор, пока ресурс не будет повторно запрашиваться приложением с помощью этого метода. Система владеет буфером до тех пор, пока кадр, в который буфер был зафиксирован, не перейдет через очередь презентации. Чтобы определить, отказался ли система от управления буфером, вызовите Метод AcquireDirect3D12BufferResource или AcquireDirect3D12BufferResourceWithTimeout. Если буфер не может быть получен к тому времени, когда приложение будет готово к отрисовке нового голографического кадра, необходимо создать новый ресурс и добавить его в очередь буфера или ограничить размер очереди, дождавшись, пока буфер станет доступным.
Если буфер не готов к получению при вызове AcquireDirect3D12BufferResource , вызов метода завершится ошибкой и немедленно вернет код ошибки E_NOTREADY.
Приложение может ограничить размер очереди, вызвав Метод AcquireDirect3D12BufferResourceWithTimeout , чтобы дождаться, пока ресурс станет доступным, прежде чем выполнять дополнительные работы.
Синтаксис
HRESULT AcquireDirect3D12BufferResource(
ID3D12Resource *pResourceToAcquire,
ID3D12CommandQueue *pCommandQueue
);
Параметры
pResourceToAcquire
Тип: ID3D12Resource*
Ресурс Direct3D 12 для получения.
pCommandQueue
Тип: ID3D12CommandQueue*
Очередь команд Direct3D 12, используемая для переноса состояния этого ресурса при его получении для приложения. При получении ресурс будет находиться в состоянии D3D12_RESOURCE_STATE_COMMON . Команда перехода ресурсов может не быть поставлена в очередь, если ресурс уже находится в общем состоянии при его получении.
Возвращаемое значение
S_OK в случае успешного выполнения, в противном случае возвращает код ошибки HRESULT , указывающий причину сбоя. См. также коды ошибок COM (пользовательский интерфейс, аудио, DirectX, кодек).
Требования
Минимальная версия клиента | Windows 10 версии 2004 (10.0; Сборка 19041) |
Минимальная версия сервера | Windows Server версии 2004 (10.0; Сборка 19041) |
Верхняя часть | windows.graphics.holographic.interop.h |