Метод ID3D12Device10::CreatePlacedResource2 (d3d12.h)
Создает ресурс, помещенный в определенную кучу. Размещенные ресурсы — это самые легкие доступные объекты ресурсов, которые быстрее всего создаются и уничтожаются.
Приложение может повторно использовать видеопамяти, перекрывая несколько размещенных и зарезервированных ресурсов Direct3D в регионах кучи. Существует простая модель повторного использования памяти (описанная в разделе Примечания) для уточнения того, какой перекрывающийся ресурс действителен в любой момент времени. Для максимальной поддержки графических средств с простой моделью наследование данных не поддерживается; а более детализированная плитка и подресурс не поддерживаются. Происходит только полная недействительность перекрывающихся ресурсов.
Требуется пакет SDK для DirectX 12 Agility 1.7 или более поздней версии.
Синтаксис
HRESULT CreatePlacedResource2(
ID3D12Heap *pHeap,
UINT64 HeapOffset,
const D3D12_RESOURCE_DESC1 *pDesc,
D3D12_BARRIER_LAYOUT InitialLayout,
const D3D12_CLEAR_VALUE *pOptimizedClearValue,
UINT32 NumCastableFormats,
const DXGI_FORMAT *pCastableFormats,
REFIID riid,
void **ppvResource
);
Параметры
pHeap
Тип: [in] ID3D12Heap*
Указатель на интерфейс ID3D12Heap , представляющий кучу, в которой размещен ресурс.
HeapOffset
Тип: UINT64
Смещение ресурса в байтах. HeapOffset должен быть кратным выравниванию ресурса, а HeapOffset и размер ресурса должен быть меньше или равен размеру кучи. GetResourceAllocationInfo необходимо использовать для понимания размеров ресурсов текстуры.
pDesc
Тип: [in] const D3D12_RESOURCE_DESC*
Указатель на структуру D3D12_RESOURCE_DESC , описывающую ресурс.
InitialLayout
Начальный макет ресурса текстуры; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED для буферов.
pOptimizedClearValue
Тип: [in, необязательный] const D3D12_CLEAR_VALUE*
Задает D3D12_CLEAR_VALUE , описывающий значение по умолчанию для четкого цвета.
pOptimizedClearValue указывает значение, для которого операции очистки наиболее оптимальны. Если созданный ресурс является текстурой с флагами D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET или D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL , приложение должно выбрать значение, с которым чаще всего будет вызываться операция очистки.
Операции clear можно вызывать с другими значениями, но эти операции не будут столь эффективными, как если значение совпадает со значением, переданным при создании ресурса.
Значение pOptimizedClearValue должно иметь значение NULL при использовании с D3D12_RESOURCE_DIMENSION_BUFFER.
NumCastableFormats
Количество элементов в pCastableFormats.
pCastableFormats
Непрерывный массив DXGI_FORMAT структур, к которым можно привести этот ресурс.
riid
Тип: REFIID
Глобальный уникальный идентификатор (GUID) для интерфейса ресурса. Это входной параметр.
Идентификатор REFIID или GUID интерфейса к ресурсу можно получить с помощью макроса__uuidof
. Например, __uuidof(ID3D12Resource)
получает GUID интерфейса для ресурса. Хотя riid чаще всего является GUID для ID3D12Resource, он может быть любым GUID для любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.
ppvResource
Тип: [out, необязательный] void**
Указатель на блок памяти, который получает указатель на ресурс. PpvResource может иметь значение NULL, чтобы включить тестирование возможностей. Если ppvResource имеет значение NULL, объект не создается, и S_FALSE возвращаются, когда pResourceDesc и другие параметры являются допустимыми.
Возвращаемое значение
Тип: HRESULT
Этот метод возвращает E_OUTOFMEMORY , если для создания ресурса недостаточно памяти. Другие возможные возвращаемые значения см. в разделе Коды возврата Direct3D 12 .
Комментарии
См. примечания для ID3D12Device::CreatePlacedResource.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d12.h |
Библиотека | D3d12.lib |
DLL | D3d12.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по