包含此页的版本:
不含此页的版本:
DirectX 11 (DX11) 和 DirectX 12 (DX12) 支持其他平台(例如 Metal 或 OpenGL ES)不支持的许多作。因此,您应该始终确保您的着色器在 GPU 上运行的程序。更多信息
请参阅术语表在提供较少支持的平台上具有明确定义的行为,而不仅仅是在 DX11 或 DX12 上。以下是需要考虑的几件事:
越界内存访问是错误的。DX11 在读取时可能会始终返回零,并且读取一些写入时没有问题,但提供较少支持的平台可能会在执行此作时使 GPU 崩溃。注意特定于 DX11 的黑客攻击、缓冲区大小与多个线程组大小不匹配、尝试从缓冲区的开头或结尾读取相邻数据元素以及类似的不兼容性。
初始化您的资源。新缓冲区和纹理的内容未定义。某些平台可能提供全部零,但在其他平台上,可能有包括 NaN 在内的任何内容。
绑定计算着色器声明的所有资源。即使确定着色器由于分支而不使用当前状态的资源,仍必须确保资源绑定到它。
GetDimensions对缓冲区的查询。如果需要,将缓冲区大小信息作为常量传递给着色器。RWTextures<T>不是只写的。| 图形格式 | 渲染纹理格式 | HLSL 类型 | GLSL 图像格式限定符 |
|---|---|---|---|
| R32G32B32A32_SFloat | ARGB弗洛特 | 浮点4 | RGBA32F |
| R16G16B16A16_SFloat | ARGB哈尔夫 | min16float4/half4 | RGBA16F |
| R32G32_SFloat | RG弗洛特 | 浮点2 | RG32F |
| R16G16_SFloat | RGHalf | min16float2/half2 | RG16F |
| B10G11R11_UFloatPack32 | RGB111110浮点 | 最小10浮点3 | r11f_g11f_b10f |
| R32_SFloat | RFloat | 浮 | R32F |
| R16_SFloat | 阿尔夫 | min16浮点/半 | R16F |
| R16G16B16A16_UNorm | ARGB64 的 | UNORM 最小16浮点4/半4 | RGBA16 |
| A2B10G10R10_UNormPack32 | ARGB2101010 | unorm min10float4 | rgb10_a2 |
| R8G8B8A8_UNorm | ARGB32 | UNORM 浮子4 | RGBA8 |
| R16G16_UNorm | RG32型 | unorm min16float2/half2 | RG16 |
| R8G8_UNorm | RG16型 | unorm 浮子2 | RG8 |
| R16_UNorm | R16 | unorm min16浮点/半 | R16 |
| R8_UNorm | R8 | UNORM浮子 | R8 |
| R16G16B16A16_SNorm | 支持 | snorm min16float4/half4 | rgba16_snorm |
| R8G8B8A8_SNorm | 支持 | snorm 浮子4 | rgba8_snorm |
| R16G16_SNorm | 支持 | snorm min16float2/half2 | rg16_snorm |
| R8G8_SNorm | 支持 | snorm 浮点数2 | rg8_snorm |
| R16_SNorm | 支持 | snorm min16浮点/半 | r16_snorm |
| R8_SNorm | 支持 | Snorm 浮点 | r8_snorm |
| R32G32B32A32_SInt | ARGBnt | 整数4 | RGBA32I型 |
| R16G16B16A16_SInt | 支持 | 最小16int4 | RGBA16I型 |
| R8G8B8A8_SInt | 支持 | 最小12int4 | RGBA8i(英文) |
| R32G32_SInt | RGnt | 整数2 | RG32I型 |
| R16G16_SInt | 支持 | 最小16int2 | RG16I型 |
| R8G8_SInt | 支持 | 最小12int2 | RG8i |
| R32_SInt | 里特 | 整数 | R32I型 |
| R16_SInt | 支持 | 最小16整数 | R16I型 |
| R8_SInt | 支持 | 最小12整数 | R8i的 |
| R32G32B32A32_UInt | 支持 | uint4 | RGBA32I型 |
| R16G16B16A16_UInt | RGBAUShort | 最小16uint4 | RGBA16UI(英文) |
| R8G8B8A8_UInt | 支持 | 支持 | rgba8ui |
| R32G32_UInt | 支持 | uint2 | RG32UI(英文) |
| R16G16_UInt | 支持 | 最小16uint2 | RG16UI(英文) |
| R8G8_UInt | 支持 | 支持 | rg8ui |
| R32_UInt | 支持 | 因特 | R32UI(英文) |
| R16_UInt | 支持 | 最小16uint | R16用户界面 |
| R8_UInt | 支持 | 支持 | R8UI(英文) |
| A2B10G10R10_UIntPack32 | 支持 | 支持 | rgb10_a2ui |