Метод ID3D12Device10::CreateCommittedResource3 (d3d12.h)
Создает выделенный ресурс с начальным макетом, а не начальным состоянием.
Требуется пакет SDK для DirectX 12 Agility 1.7 или более поздней версии.
Синтаксис
HRESULT CreateCommittedResource3(
const D3D12_HEAP_PROPERTIES *pHeapProperties,
D3D12_HEAP_FLAGS HeapFlags,
const D3D12_RESOURCE_DESC1 *pDesc,
D3D12_BARRIER_LAYOUT InitialLayout,
const D3D12_CLEAR_VALUE *pOptimizedClearValue,
ID3D12ProtectedResourceSession *pProtectedSession,
UINT32 NumCastableFormats,
const DXGI_FORMAT *pCastableFormats,
REFIID riidResource,
void **ppvResource
);
Параметры
pHeapProperties
Тип: _In_ const D3D12_HEAP_PROPERTIES*
Указатель на структуру D3D12_HEAP_PROPERTIES, которая предоставляет свойства кучи ресурса.
HeapFlags
Тип: D3D12_HEAP_FLAGS
Параметры кучи, как побитовое сочетание констант перечисления D3D12_HEAP_FLAGS.
pDesc
Тип: const D3D12_RESOURCE_DESC1*
Указатель на структуру D3D12_RESOURCE_DESC1, описывающую ресурс, включая регион MIP.
InitialLayout
Начальный макет ресурса текстуры; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED для буферов.
pOptimizedClearValue
Тип: константа D3D12_CLEAR_VALUE*
Указывает структуру D3D12_CLEAR_VALUE, описывающую значение по умолчанию для четкого цвета.
pOptimizedClearValue указывает значение, для которого наиболее оптимальные операции очистки. Когда созданный ресурс является текстурой с флагами D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET или D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, следует выбрать значение, с помощью которого обычно вызывается операция очистки. Вы можете вызвать операцию очистки с другими значениями, но эти операции не будут столь эффективными, как при совпадении значения, переданного в создание ресурса.
При использовании D3D12_RESOURCE_DIMENSION_BUFFERнеобходимо задать для nullptr
значение pOptimizedClearValue.
pProtectedSession
Тип: ID3D12ProtectedResourceSession*
Необязательный указатель на объект, представляющий сеанс для защиты содержимого. Если этот сеанс указан, этот сеанс указывает, что ресурс должен быть защищен. Вы можете получить
NumCastableFormats
Количество элементов в pCastableFormats.
pCastableFormats
Непрерывный массив структур DXGI_FORMAT, к которым можно привести этот ресурс.
riidResource
Тип: REFIID
Ссылка на глобальный уникальный идентификатор (GUID) интерфейса ресурса, возвращаемого в ppvResource.
Хотя riidResource чаще всего является GUIDID3D12Resource, это может быть GUID любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.
ppvResource
Тип: void**
Необязательный указатель на блок памяти, который получает запрошенный указатель интерфейса на созданный объект ресурса.
ppvResource можно nullptr
, чтобы включить тестирование возможностей. Если ppvResource nullptr
, объект не создается и S_FALSE возвращается, когда pDesc.
Возвращаемое значение
Тип: HRESULT
Если функция успешно выполнена, она возвращает S_OK. В противном случае возвращается кодошибки
Возвращаемое значение | Описание |
---|---|
E_OUTOFMEMORY | Для создания ресурса недостаточно памяти. |
См. коды возврата Direct3D 12 для других возможных возвращаемых значений.
Требования
Требование | Ценность |
---|---|
целевая платформа | Виндоус |
заголовка | d3d12.h |
библиотеки |
D3d12.lib |
DLL | D3d12.dll |