HLSL 着色器模型 6.4

介绍添加到 HLSL 着色器模型 6.4 的机器学习内部函数。

着色器模型 6.4

这些内部函数是着色器模型 6.4 的必需/支持功能。 因此,除了确保着色器模型 6.4 的使用之外,不需要单独的功能位检查。 这些例程支持的最低客户端是 Windows 10 版本 1903。

底纹语言内部函数

4 个元素和累积的无符号整数 Dot-Product

uint32 dot4add_u8packed(uint32 a, uint32 b, uint32 acc); // ubyte4 a, b;

  带 add 的 4 维无符号整数点积。 将两个输入 DWORD 中每个对应的无符号 8 位 int 字节对相乘,并将结果求和为 32 位无符号整数累加器。 此指令在单个 32 位宽 SIMD 通道内运行。 输入也假定为 32 位数量。  

4 个元素和累积的带符号整数 Dot-Product

int32 dot4add_i8packed(uint32 a, uint32 b, int32 acc); // signed byte4 a, b;

带添加的四维有符号整数点积。 将两个输入 DWORD 中每个对应的带符号 8 位 int 字节对相乘,并将结果求和为 32 位有符号整数累加器。 此指令在单个 32 位宽 SIMD 通道内运行。 输入也假定为 32 位数量。  

单精度浮点 2 元素 Dot-Product 和累积

float dot2add( half2 a, half2 b, float acc );

一个包含添加的半2向量的二维浮点点积。 将两个半精度浮点输入向量的元素相乘,并将结果求和到 32 位浮点累积器中。 此指令在单个 32 位宽 SIMD 通道内运行。 输入是打包到同一通道中的 16 位数量。

这在低精度特征位下(指示存在本机半和短支持)。

SV_ShadingRate

uint shadingRate : SV_ShadingRate

一个无符号整数,表示每个像素着色器调用所写入的目标像素数。 有效值属于枚举值集 D3D12_SHADING_RATE

此系统值在 D3D12_VARIABLE_SHADING_RATE_TIER_2 或更高版本的平台上可用。 它最多可以从顶点或几何着色器阶段之一写入。 可以从像素着色器阶段读取它。 有关详细信息,请参阅 可变速率着色