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;

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

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

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

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

低精度功能位 (对此进行了介绍,指示) 存在本机半支持和短支持。

SV_ShadingRate

uint shadingRate : SV_ShadingRate

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

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