着色器属性和功能(Shader Properties and Capabilities)
通过标签-值(tag-value)对列表来指定附加的着色器属性,这是入口函数描述记录中的最后一个元素。
着色器标记
着色器具有附加的标志,通过标签-值对来传达它们的功能,其中标签为kDxilShaderFlagsTag (0),后面跟着一个i64位掩码整数。这些位具有以下含义:
Bit |
描述 |
0 |
禁用着色器优化 |
1 |
禁用数学refactoring |
2 |
Shader uses doubles |
3 |
Force early depth stencil |
4 |
Enable raw and structured buffers |
5 |
Shader uses min-precision, expressed as half and i16 |
6 |
Shader uses double extension intrinsics |
7 |
Shader uses MSAD |
8 |
All resources must be bound for the duration of shader execution |
9 |
Enable view port and RT array index from any stage feeding rasterizer |
10 |
Shader uses inner coverage |
11 |
Shader uses stencil |
12 |
Shader uses intrinsics that access tiled resources |
13 |
Shader uses relaxed typed UAV load formats |
14 |
Shader uses Level9 comparison filtering |
15 |
Shader uses up to 64 UAVs |
16 |
Shader uses UAVs |
17 |
Shader uses CS4 raw and structured buffers |
18 |
Shader uses Rasterizer Ordered Views |
19 |
Shader uses wave intrinsics |
20 |
Shader uses int64 instructions |
几何着色器
几何着色器的属性通过标签-值对来指定,标签为kDxilGSStateTag (1),后面跟着一系列几何着色器属性。该列表的格式如下所示:
Idx |
Type |
描述 |
0 |
i32 |
Input primitive (InputPrimitive enum value). |
1 |
i32 |
Max vertex count. |
2 |
i32 |
Primitive topology for stream 0 (PrimitiveTopology enum value). |
3 |
i32 |
Primitive topology for stream 1 (PrimitiveTopology enum value). |
4 |
i32 |
Primitive topology for stream 1 (PrimitiveTopology enum value). |
5 |
i32 |
Primitive topology for stream 3 (PrimitiveTopology enum value). |
域着色器
域着色器的属性通过标签-值对来指定,标签为kDxilDSStateTag (2),后面跟着一系列域着色器属性。该列表的格式如下所示:
Idx |
Type |
描述 |
0 |
i32 |
Tessellator domain (TessellatorDomain enum value). |
1 |
i32 |
Input control point count. |
细分着色器
细分着色器的属性通过标签-值对来指定,标签为kDxilHSStateTag (3),然后是一系列 细分着色器属性。该列表的格式如下所示:
Idx |
Type |
描述 |
0 |
元数据值(MDValue) |
Patch constant function (global symbol) |
1 |
i32 |
Input control point count. |
2 |
i32 |
Output control point count. |
3 |
i32 |
Tessellator domain (TessellatorDomain enum value). |
4 |
i32 |
Tessellator partitioning (TessellatorPartitioning enum value) |
5 |
i32 |
Tessellator output primitive (TessellatorOutputPrimitive enum value). |
6 |
float |
Max tessellation factor. |
计算着色器
计算着色器有以下 tag-value属性。
Tag |
Value |
描述 |
kDxilNumThreadsTag(4) |
MD list: (i32, i32, i32) |
Number of threads (X,Y,Z) for compute shader. |
kDxilWaveSizeTag |
MD list: (i32) |
Wave size the shader is compatible with (optional). |
上一页 下一页
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?