перечисление 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 Потоковая передача. |
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 (include D3d12umddi.h) |