From 4d790e7a7b1904421ccc64acf80c4bc87abd4b91 Mon Sep 17 00:00:00 2001 From: chyyran Date: Sat, 7 Sep 2024 00:02:25 -0400 Subject: [PATCH] doc: update ABI versions in version.rs and readme --- README.md | 2 +- include/librashader.h | 7 ++++++- librashader-capi/src/lib.rs | 3 +++ librashader-capi/src/version.rs | 8 +++++++- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f613519..731e808 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ and are more a heads-up for integrating librashader into your project. ## Versioning [![Latest Version](https://img.shields.io/crates/v/librashader.svg)](https://crates.io/crates/librashader) -![C ABI](https://img.shields.io/badge/ABI%20version-1-yellowgreen) +![C ABI](https://img.shields.io/badge/ABI%20version-2-yellowgreen) ![C API](https://img.shields.io/badge/API%20version-1-blue) diff --git a/include/librashader.h b/include/librashader.h index dde9a3c..8fb4d85 100644 --- a/include/librashader.h +++ b/include/librashader.h @@ -1040,7 +1040,12 @@ typedef libra_error_t (*PFN_libra_mtl_filter_chain_free)(libra_mtl_filter_chain_ /// ## ABI Versions /// - ABI version 0: null instance (unloaded) /// - ABI version 1: 0.1.0 -/// - ABI version 2: 0.4.0 +/// - ABI version 2: 0.5.0 +/// - Reduced texture size information needed for some runtimes. +/// - Removed wrapper structs for Direct3D 11 SRV and RTV handles. +/// - Removed `gl_context_init`. +/// - Make viewport handling consistent across runtimes, which are now +/// span the output render target if omitted. #define LIBRASHADER_CURRENT_ABI 2 #ifdef __cplusplus diff --git a/librashader-capi/src/lib.rs b/librashader-capi/src/lib.rs index d2bcfee..0442681 100644 --- a/librashader-capi/src/lib.rs +++ b/librashader-capi/src/lib.rs @@ -60,6 +60,9 @@ //! to the same context as the drawing thread, and in Direct3D 11, where filter chain creation is unsafe //! if the `ID3D11Device` was created with `D3D11_CREATE_DEVICE_SINGLETHREADED`. Metal is entirely thread unsafe. //! +//! Setting and retrieving filter parameters from any thread, regardless of the lack of other thread safety-guarantees +//! of the runtime, is always thread safe. +//! //! You must ensure that only thread has access to a created filter pass **before** you call `*_frame`. `*_frame` may only be //! called from one thread at a time. #![cfg_attr(feature = "docsrs", feature(doc_cfg))] diff --git a/librashader-capi/src/version.rs b/librashader-capi/src/version.rs index 072a5dc..c0fc41c 100644 --- a/librashader-capi/src/version.rs +++ b/librashader-capi/src/version.rs @@ -28,10 +28,16 @@ pub const LIBRASHADER_CURRENT_VERSION: LIBRASHADER_API_VERSION = 1; /// ABI versions are not backwards compatible. It is not /// valid to load a librashader C API instance for any ABI /// version not equal to LIBRASHADER_CURRENT_ABI. +/// /// ## ABI Versions /// - ABI version 0: null instance (unloaded) /// - ABI version 1: 0.1.0 -/// - ABI version 2: 0.4.0 +/// - ABI version 2: 0.5.0 +/// - Reduced texture size information needed for some runtimes. +/// - Removed wrapper structs for Direct3D 11 SRV and RTV handles. +/// - Removed `gl_context_init`. +/// - Make viewport handling consistent across runtimes, which are now +/// span the output render target if omitted. pub const LIBRASHADER_CURRENT_ABI: LIBRASHADER_ABI_VERSION = 2; /// Function pointer definition for libra_abi_version