перечисление D3D12DDI_RESOURCE_STATES (d3d12umddi.h)

Содержит состояния ресурсов. Барьеры ресурсов позволяют переходить между аппаратными состояниями для соответствующей операции и синхронизировать чтение после записи. Барьеры ресурсов — это существующая концепция В D3D12, которая расширяется для поддержки декодирования видео и видеопроцесса путем добавления этих флагов использования.

Синтаксис

typedef enum D3D12DDI_RESOURCE_STATES {
  D3D12DDI_RESOURCE_STATE_COMMON = 0x00000000,
  D3D12DDI_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x00000001,
  D3D12DDI_RESOURCE_STATE_INDEX_BUFFER = 0x00000002,
  D3D12DDI_RESOURCE_STATE_RENDER_TARGET = 0x00000004,
  D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS = 0x00000008,
  D3D12DDI_RESOURCE_STATE_DEPTH_WRITE = 0x00000010,
  D3D12DDI_RESOURCE_STATE_DEPTH_READ = 0x00000020,
  D3D12DDI_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x00000040,
  D3D12DDI_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x00000080,
  D3D12DDI_RESOURCE_STATE_STREAM_OUT = 0x00000100,
  D3D12DDI_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x00000200,
  D3D12DDI_RESOURCE_STATE_COPY_DEST = 0x00000400,
  D3D12DDI_RESOURCE_STATE_COPY_SOURCE = 0x00000800,
  D3D12DDI_RESOURCE_STATE_RESOLVE_DEST = 0x00001000,
  D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE = 0x00002000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_READ = 0x00010000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_WRITE = 0x00020000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_READ = 0x00040000,
  D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_WRITE = 0x00080000,
  D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_READ = 0x00200000,
  D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_WRITE = 0x00800000,
  D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE = 0x01000000,
  D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000
} ;

Константы

 
D3D12DDI_RESOURCE_STATE_COMMON
Значение: 0x00000000
Общие.
D3D12DDI_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
Значение: 0x00000001
Буфер вершин и констант.
D3D12DDI_RESOURCE_STATE_INDEX_BUFFER
Значение: 0x00000002
Буфер индексов.
D3D12DDI_RESOURCE_STATE_RENDER_TARGET
Значение: 0x00000004
Отрисовка целевого объекта.
D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS
Значение: 0x00000008
Неупорядоченный доступ.
D3D12DDI_RESOURCE_STATE_DEPTH_WRITE
Значение: 0x00000010
Запись глубины.
D3D12DDI_RESOURCE_STATE_DEPTH_READ
Значение: 0x00000020
Чтение глубины.
D3D12DDI_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
Значение: 0x00000040
Ресурс шейдера без пикселей.
D3D12DDI_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
Значение: 0x00000080
Ресурс шейдера пикселей.
D3D12DDI_RESOURCE_STATE_STREAM_OUT
Значение: 0x00000100
Stream.
D3D12DDI_RESOURCE_STATE_INDIRECT_ARGUMENT
Значение: 0x00000200
Косвенный аргумент.
D3D12DDI_RESOURCE_STATE_COPY_DEST
Значение: 0x00000400
Место назначения копирования.
D3D12DDI_RESOURCE_STATE_COPY_SOURCE
Значение: 0x00000800
Копирование источника.
D3D12DDI_RESOURCE_STATE_RESOLVE_DEST
Значение: 0x00001000
Разрешить назначение.
D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE
Значение: 0x00002000
Разрешение источника.
D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_READ
Значение: 0x00010000
Декодирование видео. Состояние чтения используется для чтения ссылок во время декодирования, а также для входных данных для обработки кадра. Это состояние допустимо только в списке команд декодирования и обработки.
D3D12DDI_RESOURCE_STATE_0020_VIDEO_DECODE_WRITE
Значение: 0x00020000
Запись декодирования видео. Состояние записи используется для целевого объекта декодирования или целевой области кадра процесса. Состояние записи также используется, когда для неконвертированных ссылок включено преобразование декодирования. Это состояние допустимо только в списке команд декодирования и обработки.
D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_READ
Значение: 0x00040000
Процесс чтения видео.
D3D12DDI_RESOURCE_STATE_0020_VIDEO_PROCESS_WRITE
Значение: 0x00080000
Запись видеопроцесса.
D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_READ
Значение: 0x00200000
Состояние ресурса чтения закодированного видео.
D3D12DDI_RESOURCE_STATE_0060_VIDEO_ENCODE_WRITE
Значение: 0x00800000
Состояние ресурса записи закодировано видео.
D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE
Значение: 0x01000000
Состояние исходного ресурса скорости заливки.

Доступно начиная с WDDM 2.6.
D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE
Значение: 0x400000
Состояние ресурса структуры ускорения трассировки лучей.

Комментарии

Барьеры ресурсов позволяют переходить между аппаратными состояниями для соответствующей операции и синхронизировать чтение после записи.

Барьеры ресурсов — это существующая концепция В D3D12, которая расширяется для поддержки декодирования видео за счет добавления новых флагов использования. Состояние записи используется для целевого объекта декодирования. Состояние записи также используется, когда для неконвертированных ссылок включено преобразование декодирования.

Требования

Требование Значение
Минимальная версия UMDF Direct3D 12.0
Верхняя часть d3d12umddi.h (включая D3d12umddi.h)