Метод ID3D12Device10::CreateReservedResource2 (d3d12.h)
Создает ресурс, который зарезервирован и еще не сопоставлен ни со страницами в куче.
Требуется пакет SDK для DirectX 12 Agility 1.7 или более поздней версии.
Синтаксис
HRESULT CreateReservedResource2(
const D3D12_RESOURCE_DESC *pDesc,
D3D12_BARRIER_LAYOUT InitialLayout,
const D3D12_CLEAR_VALUE *pOptimizedClearValue,
ID3D12ProtectedResourceSession *pProtectedSession,
UINT32 NumCastableFormats,
const DXGI_FORMAT *pCastableFormats,
[in] REFIID riid,
void **ppvResource
);
Параметры
pDesc
Тип: const D3D12_RESOURCE_DESC*
Указатель на структуру D3D12_RESOURCE_DESC , описывающую ресурс.
InitialLayout
Начальный макет ресурса текстуры; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED для буферов.
pOptimizedClearValue
Тип: const D3D12_CLEAR_VALUE*
Задает структуру D3D12_CLEAR_VALUE , описывающую значение по умолчанию для четкого цвета.
pOptimizedClearValue указывает значение, для которого операции очистки наиболее оптимальны. Если созданный ресурс является текстурой с флагами D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET или D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL , следует выбрать значение, с которым чаще всего будет вызываться операция очистки. Операцию очистки можно вызвать с другими значениями, но эти операции не будут столь эффективными, как если значение совпадает со значением, переданным при создании ресурса.
При использовании D3D12_RESOURCE_DIMENSION_BUFFER необходимо задать для параметра pOptimizedClearValue значение nullptr
.
pProtectedSession
Тип: ID3D12ProtectedResourceSession*
Необязательный указатель на объект , представляющий сеанс для защиты содержимого. Если этот сеанс указан, этот сеанс указывает, что ресурс должен быть защищен. Id3D12ProtectedResourceSession можно получить, вызвав ID3D12Device4::CreateProtectedResourceSession.
NumCastableFormats
Количество элементов в pCastableFormats.
pCastableFormats
Непрерывный массив DXGI_FORMAT структур, к которым можно привести этот ресурс.
[in] riid
Тип: REFIID
Ссылка на глобальный уникальный идентификатор (GUID) интерфейса ресурса, возвращаемого в ppvResource. См. Примечания.
Хотя riidResource чаще всего является GUIDID3D12Resource, он может быть GUID любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.
ppvResource
Тип: void**
Необязательный указатель на блок памяти, который получает запрошенный указатель интерфейса на созданный объект ресурса.
PpvResource может иметь значение nullptr
, чтобы включить тестирование возможностей. Если ppvResource имеет значение nullptr
, объект не создается, а S_FALSE возвращается, если pDesc является допустимым .
Возвращаемое значение
Тип: HRESULT
Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибкиHRESULT.
Возвращаемое значение | Описание |
---|---|
E_OUTOFMEMORY | Недостаточно памяти для создания ресурса. |
Другие возможные значения см. в разделе Коды возврата Direct3D 12 .
Комментарии
См . примечания для ID3D12Device.CreateReservedResource.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d12.h |
Библиотека | D3d12.lib |
DLL | D3d12.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по