From d893b6ec974989e42d59506b6726b896d3de00e4 Mon Sep 17 00:00:00 2001 From: chyyran Date: Thu, 7 Mar 2024 21:45:19 -0500 Subject: [PATCH] doc: update supported runtime table to include D3D9 and clarify wgpu status --- README.md | 29 +++++++++++++++++++---------- librashader/src/lib.rs | 20 +++++++++++--------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index c2a4550..6568490 100644 --- a/README.md +++ b/README.md @@ -16,18 +16,27 @@ Windows and macOS users can grab the latest binaries from [GitHub Releases](http ## Supported Render APIs librashader supports all modern graphics runtimes, including wgpu, Vulkan, OpenGL 3.3+ and 4.6 (with DSA), -Direct3D 11, Direct3D 12, and Metal. librashader does not support legacy render -APIs such as older versions of OpenGL, or legacy versions of Direct3D. +Direct3D 11, Direct3D 12, and Metal. + +librashader does not support legacy render APIs such as older versions of OpenGL or Direct3D, except for experimental +support for Direct3D 9. | **API** | **Status** | **`librashader` feature** | -|-------------|-----------|---------------------------| -| OpenGL 3.3+ | ✔ | `gl` | -| OpenGL 4.6 | ✔ | `gl` | -| Vulkan | ✔ | `vk` | -| Direct3D 11 | ✔ | `d3d11` | -| Direct3D 12 | ✔ | `d3d12` | -| Metal | ✔ | `metal` | -| wgpu | ✔ | `wgpu` | +|-------------|------------|---------------------------| +| OpenGL 3.3+ | ✅ | `gl` | +| OpenGL 4.6 | ✅ | `gl` | +| Vulkan | ✅ | `vk` | +| Direct3D 9 | ⚠️ | `d3d9` | +| Direct3D 11 | ✅ | `d3d11` | +| Direct3D 12 | ✅ | `d3d12` | +| Metal | ✅ | `metal` | +| wgpu | 🆗 | `wgpu` | + +✅ Full Support — 🆗 Secondary Support — ⚠️ ️Experimental Support + +wgpu may not support all shaders due to restrictions from WGSL. Direct3D 9 support is experimental and does not fully +support features such as previous frame feedback or history, as well as being unable to support shaders that need Direct3D 10+ +only features. ## Usage diff --git a/librashader/src/lib.rs b/librashader/src/lib.rs index be2dc0a..43c9d33 100644 --- a/librashader/src/lib.rs +++ b/librashader/src/lib.rs @@ -30,15 +30,17 @@ //! wgpu support is not available in the librashader C API. //! //! | **API** | **Status** | **`librashader` feature** | -//! |-------------|------------|---------------------------| -//! | OpenGL 3.3+ | ✔ | `gl` | -//! | OpenGL 4.6 | ✔ | `gl` | -//! | Vulkan | ✔ | `vk` | -//! | Direct3D 9 | ⚠️ | `d3d9` | -//! | Direct3D 11 | ✔ | `d3d11` | -//! | Direct3D 12 | ✔ | `d3d12` | -//! | wgpu | ✔ | `wgpu` | -//! | Metal | ✔ | `metal` | +//! |-------------|-----------|---------------------------| +//! | OpenGL 3.3+ | ✅ | `gl` | +//! | OpenGL 4.6 | ✅ | `gl` | +//! | Vulkan | ✅ | `vk` | +//! | Direct3D 9 | ⚠️ | `d3d9` | +//! | Direct3D 11 | ✅ | `d3d11` | +//! | Direct3D 12 | ✅ | `d3d12` | +//! | Metal | ✅ | `metal` | +//! | wgpu | 🆗 | `wgpu` | +//! +//! ✅ Full Support — 🆗 Secondary Support — ⚠️ ️Experimental Support //! //! ## C API //! For documentation on the librashader C API, see [librashader-capi](https://docs.rs/librashader-capi/latest/librashader_capi/),