Поделиться через


Метод 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