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 或更高版本的平台上可用。 它最多可以从顶点或几何着色器阶段之一写入。 可以从像素着色器阶段读取它。 有关详细信息,请参阅 可变速率着色。