D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE 结构是用于查询视频编码器支持的帧子区域布局模式的 Win32 API 结构体,它通常与 Direct3D 12 中的视频编码功能一起使用。以下是该结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE{ D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE NodeMask; // 表示可用于视频编码的节点的位掩码。 D3D12_VIDEO_ENCODER_CODEC Codec; // 指定视频编码器编码的视频编解码器。 D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; // 指定视频编码器的配置文件。 D3D12_VIDEO_ENCODER_SUBREGION_LAYOUT_MODE LayoutMode; // 输出的帧子区域布局模式。 BOOL I...
D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT 是 Direct3D 12 中的一个结构体,定义在 D3d12video.h 头文件中。这个结构体用于查询视频编码器支持的图片控制特性。以下是该结构体的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT { GUID CodecId; UINT DataSize; void *pData; UINT PictureControlCount; D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_DESCRIPTION *pPictureControlDescriptions;} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT;这里是对结构体成员的简要说明: CodecId: 表示视频编码器的...
D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT 是用于查询视频编码器的特性信息的结构,定义在 D3d12video.h 头文件中。这个结构体用于检查硬件视频编码器支持的编码配置。以下是该结构体的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT{ GUID NodeGuid; // 编码器所在节点的 GUID UINT Codec; // 编码器类型,例如 D3D12_VIDEO_ENCODER_CODEC_H264 D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_CONFIGURATIONLEVELS Levels; // 编码器配置的支持级别 UINT Width; // ...
D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC 结构是用于查询视频编码器支持的编码器特性的结构。这个结构定义在 D3d12video.h 头文件中,用于 Direct3D 12 API 中的视频编码功能。以下是 D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC{ GUID Codec;} D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC;该结构只包含一个成员变量 Codec,它是一个 GUID 类型的标识符,用于表示视频编码器的类型。通过这个结构,你可以查询某个特定视频编码器所支持的特性。例如,你可以使用该结构查询硬件视频编码器(如 H.264 或 H.265)的支持特性,以便在应用程序中做出相应的决策。要查询特定编码器的支持特性,你需要填充 Codec 成员变量,然后将结构传递给 ID3D12Device::CheckFeatureSupport 方法。请注意,具体的使用方式...
D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE 结构是用于查询视频解码器堆(decoder heap)大小的信息结构,该结构体定义在 d3d12video.h 头文件中,属于 Direct3D 12 的 API。以下是 D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE{ D3D12_VIDEO_DECODE_PROFILE DecodeProfile; // 解码配置文件 UINT Width; // 视频帧宽度 UINT Height; // 视频帧高度 DXGI_FORMAT DecodeFormat; // 解码格式 UINT NodeMask; // 节点掩码 ...
D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT 结构是用于查询硬件解码器是否支持视频解码的信息结构,该结构体定义在 d3d12video.h 头文件中,属于 Direct3D 12 的 API。以下是 D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT{ UINT NodeIndex; // 节点索引 D3D12_VIDEO_DECODE_PROFILE DecodeProfile; // 解码配置文件 UINT SampleWidth; // 采样宽度 UINT SampleHeight; // 采样高度 DXGI_FORMAT OutputFormat; // 输出格式 D3D12_VIDEO_DECODE_TIER DecodeTier; // 解码层级 UINT...
D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES 结构是用于查询硬件解码器支持的视频解码配置文件(Profiles)的信息结构,该结构体定义在 d3d12video.h 头文件中,属于 Direct3D 12 的 API。以下是 D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES{ UINT NodeIndex; // 节点索引 UINT ProfileCount; // 支持的解码配置文件数量 D3D12_VIDEO_DECODE_PROFILE* pProfiles; // 支持的解码配置文件数组} D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES;结构体的字段含义如下: NodeIndex: 节点索引,表示在多个 GPU 节点中的哪一个节点上进行查询。 ProfileCount: 支持的解码...
D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM 结构是用于查询硬件解码器是否支持视频解码直方图功能的信息结构,该结构体定义在 d3d12video.h 头文件中,属于 Direct3D 12 的 API。以下是 D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM{ UINT NodeIndex; // 节点索引 D3D12_VIDEO_DECODE_PROFILE DecodeProfile; // 解码配置文件 UINT Width; // 直方图宽度 UINT Height; // 直方图高度 DXGI_FORMAT DecodeFormat; // 解码格式 BOOL ClearHistogram; ...
D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS 结构是用于查询硬件解码器支持的视频解码格式的信息结构,该结构体定义在 d3d12video.h 头文件中,属于 Direct3D 12 的 API。以下是 D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS{ UINT NodeIndex; // 节点索引 D3D12_VIDEO_DECODE_PROFILE DecodeProfile; // 解码配置文件 UINT FormatCount; // 支持的解码格式数量 DXGI_FORMAT* pOutputFormats; // 支持的解码格式数组} D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS;结构体的字段含义如下: NodeIndex: 节点索引,表示在多个 GPU 节点中的哪一个节点上进行查询。 De...
D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT 结构是用于查询硬件解码器是否支持视频解码转换的信息的结构体,该结构体定义在 d3d12video.h 头文件中,属于 Direct3D 12 的 API。以下是 D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT 结构的定义:typedef struct D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT{ UINT NodeIndex; // 节点索引 D3D12_VIDEO_DECODE_PROFILE DecodeProfile; // 解码配置文件 D3D12_BIT_DEPTH_BIT_COUNT InputBitDepth; // 输入位深度 D3D12_BIT_DEPTH_BIT_COUNT OutputBitDepth; // 输出位深度 D3D12_VIDEO_DECODE_CONVERSION_SUPPOR...
ID3D12ShaderReflectionVariable 接口是用于检查和检索 HLSL 着色器中变量的反射信息的接口,该接口定义在 d3d12shader.h 头文件中,属于 Direct3D 12 的 API。以下是 ID3D12ShaderReflectionVariable 接口的定义:DECLARE_INTERFACE(ID3D12ShaderReflectionVariable){ STDMETHOD(GetDesc)( THIS_ _Out_ D3D12_SHADER_VARIABLE_DESC *pDesc) PURE; STDMETHOD_(ID3D12ShaderReflectionType*, GetType)( THIS) PURE; STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetBuffer)( THIS) PURE;};这个接口提供了一系列用于获取 HLSL 着色器中变量信息的方法,包括获取变量描述、获取变量类型以及获取变...
ID3D12ShaderReflectionType 接口是用于检查和检索 HLSL 着色器中数据类型(Type)的反射信息的接口,该接口定义在 d3d12shader.h 头文件中,属于 Direct3D 12 的 API。以下是 ID3D12ShaderReflectionType 接口的定义:DECLARE_INTERFACE(ID3D12ShaderReflectionType){ STDMETHOD(GetDesc)( THIS_ _Out_ D3D12_SHADER_TYPE_DESC *pDesc) PURE; STDMETHOD_(ID3D12ShaderReflectionType*, GetMemberTypeByIndex)( THIS_ _In_ UINT Index) PURE; STDMETHOD_(ID3D12ShaderReflectionType*, GetMemberTypeByName)( THIS_ _In_ LPCSTR Name) PURE;...
ID3D12ShaderReflectionConstantBuffer 接口是用于检查和检索 HLSL 着色器中常量缓冲区的反射信息的接口,该接口定义在 d3d12shader.h 头文件中,属于 Direct3D 12 的 API。以下是 ID3D12ShaderReflectionConstantBuffer 接口的定义:DECLARE_INTERFACE(ID3D12ShaderReflectionConstantBuffer){ STDMETHOD(GetDesc)( THIS_ _Out_ D3D12_SHADER_BUFFER_DESC *pDesc) PURE; STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByIndex)( THIS_ _In_ UINT Index) PURE; STDMETHOD_(ID3D12ShaderReflectionVariable*, GetVariableByName)( THIS_...
ID3D12ShaderReflection 接口是用于检查和检索 HLSL 着色器的反射信息的接口,该接口定义在 d3d12shader.h 头文件中,属于 Direct3D 12 的 API。以下是 ID3D12ShaderReflection 接口的定义:DECLARE_INTERFACE(ID3D12ShaderReflection){ STDMETHOD(GetDesc)( THIS_ _Out_ D3D12_SHADER_DESC *pDesc) PURE; STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetConstantBufferByIndex)( THIS_ _In_ UINT Index) PURE; STDMETHOD_(ID3D12ShaderReflectionConstantBuffer*, GetConstantBufferByName)( THIS_ _In_ LPCSTR Name) PURE;...
ID3D12FunctionReflection 接口是用于检查和检索 HLSL 着色器函数的反射信息的接口,该接口定义在 d3d12shader.h 头文件中,属于 Direct3D 12 的 API。以下是 ID3D12FunctionReflection 接口的定义:DECLARE_INTERFACE(ID3D12FunctionReflection){ STDMETHOD(GetDesc)( THIS_ _Out_ D3D12_FUNCTION_DESC *pDesc) PURE; STDMETHOD_(ID3D12ShaderReflectionType*, GetReturnType)( THIS) PURE; STDMETHOD_(UINT, GetParameterCount)( THIS) PURE; STDMETHOD_(ID3D12ShaderReflectionType*, GetParameterTypeByIndex)( THIS_ _In_ UINT...
D3D12_SHADER_VERSION_TYPE 枚举是用于指定 HLSL 着色器版本的类型,该枚举定义在 d3d12shader.h 头文件中,用于 Direct3D 12 的着色器编程。以下是 D3D12_SHADER_VERSION_TYPE 枚举的定义:typedef enum D3D12_SHADER_VERSION_TYPE{ D3D12_SHVER_PIXEL_SHADER = 0, D3D12_SHVER_VERTEX_SHADER = 1, D3D12_SHVER_GEOMETRY_SHADER = 2, D3D12_SHVER_HULL_SHADER = 3, D3D12_SHVER_DOMAIN_SHADER = 4, D3D12_SHVER_COMPUTE_SHADER = 5} D3D12_SHADER_VERSION_TYPE;枚举成员及其含义如下: D3D12_SHVER_PIXEL_SHADER: 像素着色器版本。 D3D12_SHVER_VERTEX_SHADER: 顶点着色器版本。 D3D12_SHVER_GEO...
D3D12_SIGNATURE_PARAMETER_DESC 结构体是用于描述 HLSL 着色器中输入和输出签名参数的信息,该结构体定义在 d3d12shader.h 头文件中,用于 Direct3D 12 的着色器编程。以下是 D3D12_SIGNATURE_PARAMETER_DESC 结构的定义:typedef struct D3D12_SIGNATURE_PARAMETER_DESC{ LPCSTR SemanticName; // 语义名称 UINT SemanticIndex; // 语义索引 UINT Register; // 寄存器索引 D3D_NAME SystemValueType; // 系统值类型 D3D_REGISTER_COMPONENT_TYPE ComponentType; // 组件类型 BYTE Mask; // 掩码 BYTE ReadWriteMask; // 读写掩码 UINT Stream; // 流索引 ...
D3D12_SHADER_VARIABLE_DESC 结构体是用于描述 HLSL 着色器中变量的信息,该结构体定义在 d3d12shader.h 头文件中,用于 Direct3D 12 的着色器编程。以下是 D3D12_SHADER_VARIABLE_DESC 结构的定义:typedef struct D3D12_SHADER_VARIABLE_DESC{ LPCSTR Name; // 变量的名称 UINT StartOffset; // 变量在缓冲区中的起始偏移量(以字节为单位) UINT Size; // 变量的大小(以字节为单位) UINT uFlags; // 标志 LPVOID DefaultValue; // 默认值的指针 UINT StartTexture; // 在纹理中的起始索引 UINT TextureSize; // 在纹理中的大小(以字节为单位) UINT StartSampler; // 在采样器中的起始索引 UINT...
D3D12_SHADER_INPUT_BIND_DESC 结构体是用于描述 HLSL 着色器中输入资源绑定信息的结构体,该结构体定义在 d3d12shader.h 头文件中,用于 Direct3D 12 的着色器编程。以下是 D3D12_SHADER_INPUT_BIND_DESC 结构的定义:typedef struct D3D12_SHADER_INPUT_BIND_DESC{ LPCSTR Name; // 输入资源的名称 D3D_SHADER_INPUT_TYPE Type; // 输入资源的类型,如纹理(Texture)、采样器(Sampler)、常量缓冲区(CBV)等 UINT BindPoint; // 绑定点,用于在着色器中指定输入资源的位置 UINT BindCount; // 绑定数量 UINT uFlags; // 标志 D3D_RESOURCE_RETURN_TYPE ReturnType; // 资源返回类型 D3D_SRV_DIMENSION Dimensi...
D3D12_SHADER_DESC 结构体是用于描述 HLSL 着色器(Shader)的信息,该结构体定义在 d3d12shader.h 头文件中,用于 Direct3D 12 的着色器编程。以下是 D3D12_SHADER_DESC 结构的定义:typedef struct D3D12_SHADER_DESC{ UINT Version; // 着色器版本 LPCSTR Creator; // 创建者信息 UINT Flags; // 着色器标志 UINT ConstantBuffers; // 常量缓冲区的数量 UINT BoundResources; // 绑定的资源数量 UINT InputParameters; // 输入参数数量 UINT OutputParameters; // 输出参数数量 UINT InstructionCount; // 指令数量 UINT TempRegisterCount; // 临时寄存器数量 ...
最新文章