ps_3_0
可编程像素着色器由一组对像素数据进行操作的指令组成。 注册传入和传出 ALU 的数据。 可以应用其他控制来修改指令、结果或写出的数据。
- ps_3_0指令 包含可用指令的列表。
- ps_3_0寄存器 列出了像素着色器 ALU 使用的不同类型的寄存器。
- 修饰 符 用于修改指令的工作方式。
- 目标寄存器写入掩码 确定写入目标寄存器的组件。
- 像素着色器源寄存器修饰符 在指令运行之前更改源寄存器数据。
- 源寄存器重排 提供对读取、复制或写入的寄存器组件的额外控制。
新功能
添加人脸寄存器。 添加位置寄存器。 (v#) 的颜色寄存器现在完全为浮点,并且纹理坐标寄存器 (t#) 已合并。 输入声明采用用法名称,给定寄存器的组件允许使用多个用法。
动态流控制
如果 bool - ps、break - ps 和 break_comp - ps) ,则设备支持动态流控制 (。 嵌套的深度范围为 0 到 24。
临时寄存器数
支持的临时寄存器数为 32。
静态流控制嵌套深度
call - ps/callnz /call_pred可以嵌套到最大深度 4。 独立循环 - ps/rep - ps 指令可以嵌套到最大深度 4。
任意重排
支持任意重排。 请参阅 源寄存器重排。
渐变指令
支持渐变指令。 请参阅 dsx - ps、 dsy - ps 和 texldd - ps。
预测
支持指令预测。 请参阅 谓词注册。
依赖读取限制
没有依赖读取限制。
纹理指令限制
纹理指令没有限制。
指令计数
每个像素着色器允许从 512 个到 MaxPixelShader30InstructionSlots 中的槽数 (不超过 32768 个) 。 由于循环支持,运行的指令数可能要高得多。 MaxPShaderInstructionsExecuted 应至少为 2^16。
取样器计数
可用的纹理采样器数量为 16。
设备上限
如果支持ps_3_0,则硬件 (支持以下上限,最低) :
笔帽 | 值 |
---|---|
MaxTextureWidth、MaxTextureHeight | 每个 4K |
MaxTextureRepeat | 8K |
MaxAnisotropy | 16 |
PixelShaderVersion | 3_0 |
MaxPixelShader30InstructionSlots | 512 |
设置了以下基元上限: | D3DPMISCCAPS_BLENDOP、D3DPMISCCAPS_CLIPPLANESCALEDPOINTS、D3DPMISCCAPS_CLIPTLVERTS、D3DPMISCCAPS_CULLCCW、D3DPMISCCAPS_CULLCW、D3DPMISCCAPS_CULLNONE、D3DPMISCCAPS_FOGINFVF、D3DPMISCCAPS_MASKZ |
设置了以下光栅上限: | D3DCAPS9 中的D3DPRASTERCAPS_MIPMAPLODBIAS、D3DPRASTERCAPS_ANISOTROPY、D3DPRASTERCAPS_COLORPERSPECTIVE、D3DPRASTERCAPS_SCISSORTEST |
完全支持深度偏差,包括: | D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS、D3DPRASTERCAPS_DEPTHBIAS |
深度和 alpha 测试的完整比较集,包括: | D3DCAPS9 中的所有 D3DPCMPCAPS。 |
源混合模式 | 所有混合模式都支持作为源 (,D3DPBLENDCAPS_SRCALPHASAT、D3DPBLENDCAPS_BOTHSRCALPHA和D3DPBLENDCAPS_BOTHINVSRCALPHA) 除外。 |
支持以下纹理帽: | D3DPTEXTURECAPS_CUBEMAP、D3DPTEXTURECAPS_MIPCUBEMAP、D3DPTEXTURECAPS_MIPMAP、D3DPTEXTURECAPS_MIPVOLUMEMAP、D3DPTEXTURECAPS_PERSPECTIVE、D3DPTEXTURECAPS_PROJECTED、D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE、D3DPTEXTURECAPS_VOLUMEMAP |
纹理筛选器帽、体积纹理筛选器帽和立方体纹理筛选器帽支持以下各项: | D3DPTFILTERCAPS_MINFPOINT、D3DPTFILTERCAPS_MINFLINEAR、D3DPTFILTERCAPS_MINFANISOTROPIC (VolumeTextureFilterCaps 和 CubeTextureFilterCaps ) 、D3DPTFILTERCAPS_MIPFPOINT、D3DPTFILTERCAPS_MIPFLINEAR、D3DPTFILTERCAPS_MAGFPOINT、D3DPTFILTERCAPS_MAGFLINEAR |
顶点和像素阶段支持以下纹理地址模式: | D3DPTADDRESSCAPS_WRAP、D3DPTADDRESSCAPS_MIRROR、D3DPTADDRESSCAPS_CLAMP、D3DPTADDRESSCAPS_BORDER、D3DPTADDRESSCAPS_INDEPENDENTUV、D3DPTADDRESSCAPS_MIRRORONCE |
支持所有像素着色器帽。 | DynamicFlowControlDepth = 24,NumTemps = 32,StaticFlowControlDepth = 4,NumInstructionSlots = 512。 支持以下功能:预测、任意重排和渐变指令。 没有依赖读取限制,纹理和数学指令的混合也没有限制。 |
支持所有模具操作。 这包括两侧模具。 | 请参阅 D3DSTENCILOP |
每个顶点的设备支持点大小 | D3DCAPS9 中的D3DFVFCAPS_PSIZE |
2 纹理支持的非幂。 | 完全支持或条件非 pow-2 支持;设备不应像D3DPTEXTURECAPS_SQUAREONLY中那样具有仅限方形纹理的限制。 |
如果设备支持多个呈现目标,则支持以下大写字母: | D3DPMISCCAPS_INDEPENDENTWRITEMASKS、D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
如果支持vs_3_0 | D3DCAPS9 中的 MaxUserClipPlanes 为 6 |
相关主题