以下是针对 #pragma require 指令的所有有效值。
| 值 | 描述 |
|---|---|
interpolators10 |
至少有 10 个顶点到片元插值器(“变化(varyings)”)可用。 |
interpolators15 |
至少有 15 个顶点到片元插值器(“变化(varyings)”)可用。 注意:在内部,这也会自动将 integers 添加到需求列表中。 |
interpolators32 |
至少有 32 个顶点到片元插值器(“变化(varyings)”)可用。 |
integers |
支持整数数据类型,包括位/移位操作。 注意:在内部,这也会自动将 interpolators15 添加到需求列表中。 |
mrt4 |
至少支持 4 个渲染目标。 |
mrt8 |
至少支持 8 个渲染目标。 |
derivatives |
支持像素着色器衍生指 (ddx/ddy)。 |
samplelod |
支持明确的纹理__ LOD__见__细节级别__。 See in Glossary 采样 (tex2Dlod / SampleLevel)。 |
fragcoord |
支持像素着色器中的像素位置(屏幕上的 XY,裁剪空间中的 ZW 深度)输入。 |
2darray |
支持 2D 纹理数组数据类型。 |
cubearray |
支持立方体贴图数组数据类型。 |
instancing |
支持 SV_InstanceID 输入系统值。 |
geometry |
支持几何体着色器阶段。 |
compute |
支持计算着色器、结构化缓冲区、原子操作。 |
randomwrite 或 uav
|
支持“随机写入”(UAV) 纹理。 |
tesshw |
支持硬件曲面细分,但不一定支持曲面细分(外壳/域)着色器阶段。例如,Metal 支持曲面细分,但不支持外壳或域阶段。 |
tessellation |
支持曲面细分外壳/域着色器阶段。 |
msaatex |
支持访问多重采样的纹理(HLSL 格式的 Texture2DMS)。 |
sparsetex |
包含驻留信息的稀疏纹理(即 DirectX 的“Tier2”支持;HLSL 函数 CheckAccessFullyMapped)。 |
framebufferfetch 或 fbfetch
|
支持帧缓冲提取(即读取像素着色器中的输入像素颜色)。 |
setrtarrayindexfromanyshader |
支持从任何着色器阶段(而不仅仅是几何体着色器阶段)设置渲染目标数组索引。 |
inlineraytracing |
支持内联光线追踪,从而让您可以在着色器的光栅化和计算阶段生成光线查询。详情请参阅 SystemInfo.supportsInlineRayTracing。 |