summaryrefslogtreecommitdiffstats
path: root/docs/target-compatibility.md
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2022-04-12 20:56:05 -0400
committerGitHub <noreply@github.com>2022-04-12 20:56:05 -0400
commitc949d5005ede13840d086214d6fe64f2b0fefed5 (patch)
tree619b800f86af8efbd834600252e0d343fdae937d /docs/target-compatibility.md
parent65c2e7f1ccc6cdb5daec343c7e32b4a9dc463ae4 (diff)
Small doc improvement around 8/16 bit types. (#2180)
* #include an absolute path didn't work - because paths were taken to always be relative. * Added information of 8 and 16 bit types. * Link to target compatibility. * Updated 8-bit support added via #2182
Diffstat (limited to 'docs/target-compatibility.md')
-rw-r--r--docs/target-compatibility.md16
1 files changed, 15 insertions, 1 deletions
diff --git a/docs/target-compatibility.md b/docs/target-compatibility.md
index 6fda4ceed..08819ac17 100644
--- a/docs/target-compatibility.md
+++ b/docs/target-compatibility.md
@@ -9,9 +9,11 @@ Items with ^ means there is some discussion about support later in the document
| Feature | D3D11 | D3D12 | VK | CUDA | CPU
|-----------------------------|--------------|--------------|------------|---------------|---------------
-| Half Type | No | Yes | Yes | Yes ^ | No +
+| Half Type | No | Yes ^ | Yes | Yes ^ | No +
| Double Type | Yes | Yes | Yes | Yes | Yes
| Double Intrinsics | No | Limited + | Limited | Most | Yes
+| u/int8_t Type | No | No | Yes ^ | Yes | Yes
+| u/int16_t Type | No | Yes ^ | Yes ^ | Yes | Yes
| u/int64_t Type | No | Yes ^ | Yes | Yes | Yes
| u/int64_t Intrinsics | No | No | Yes | Yes | Yes
| int matrix | Yes | Yes | No + | Yes | Yes
@@ -47,6 +49,18 @@ There appears to be a problem writing to a StructuredBuffer containing half on D
In order for half to work in CUDA, NVRTC must be able to include `cuda_fp16.h` and related files. Please read the [CUDA target documentation](cuda-target.md) for more details.
+## u/int8_t Type
+
+Not currently supported in D3D11/D3D12 because not supported in HLSL/DXIL/DXBC.
+
+Supported in Vulkan via the extensions `GL_EXT_shader_explicit_arithmetic_types` and `GL_EXT_shader_8bit_storage`.
+
+## u/int16_t Type
+
+Requires SM6.2 which requires DXIL and therefore DXC and D3D12. For DXC this is discussed [here](https://github.com/Microsoft/DirectXShaderCompiler/wiki/16-Bit-Scalar-Types).
+
+Supported in Vulkan via the extensions `GL_EXT_shader_explicit_arithmetic_types` and `GL_EXT_shader_16bit_storage`.
+
## u/int64_t Type
Requires SM6.0 which requires DXIL for D3D12. Therefore not available with DXBC on D3D11 or D3D12.