From 215f31b33fd9deb15beecbf539a80f033ab86f1d Mon Sep 17 00:00:00 2001 From: "lukas.taparauskas" Date: Wed, 14 Apr 2021 15:44:00 +0300 Subject: [PATCH] c: Add missing API to query active builtins. --- CMakeLists.txt | 2 +- spirv_cross_c.cpp | 12 ++++++++++++ spirv_cross_c.h | 4 +++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e66dd791..b56871f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -331,7 +331,7 @@ if (SPIRV_CROSS_STATIC) endif() set(spirv-cross-abi-major 0) -set(spirv-cross-abi-minor 45) +set(spirv-cross-abi-minor 46) set(spirv-cross-abi-patch 0) if (SPIRV_CROSS_SHARED) diff --git a/spirv_cross_c.cpp b/spirv_cross_c.cpp index ace5376b..9ecdb536 100644 --- a/spirv_cross_c.cpp +++ b/spirv_cross_c.cpp @@ -1937,6 +1937,18 @@ SpvExecutionModel spvc_compiler_get_execution_model(spvc_compiler compiler) return static_cast(compiler->compiler->get_execution_model()); } +SPVC_PUBLIC_API void spvc_compiler_update_active_builtins(spvc_compiler compiler) +{ + compiler->compiler->update_active_builtins(); +} + +SPVC_PUBLIC_API spvc_bool spvc_compiler_has_active_builtin(spvc_compiler compiler, SpvBuiltIn builtin, SpvStorageClass storage) +{ + return compiler->compiler->has_active_builtin(static_cast(builtin), static_cast(storage)) ? + SPVC_TRUE : + SPVC_FALSE; +} + spvc_type spvc_compiler_get_type_handle(spvc_compiler compiler, spvc_type_id id) { // Should only throw if an intentionally garbage ID is passed, but the IDs are not type-safe. diff --git a/spirv_cross_c.h b/spirv_cross_c.h index 1511a1db..12f98801 100644 --- a/spirv_cross_c.h +++ b/spirv_cross_c.h @@ -40,7 +40,7 @@ extern "C" { /* Bumped if ABI or API breaks backwards compatibility. */ #define SPVC_C_API_VERSION_MAJOR 0 /* Bumped if APIs or enumerations are added in a backwards compatible way. */ -#define SPVC_C_API_VERSION_MINOR 45 +#define SPVC_C_API_VERSION_MINOR 46 /* Bumped if internal implementation details change. */ #define SPVC_C_API_VERSION_PATCH 0 @@ -861,6 +861,8 @@ SPVC_PUBLIC_API unsigned spvc_compiler_get_execution_mode_argument(spvc_compiler SPVC_PUBLIC_API unsigned spvc_compiler_get_execution_mode_argument_by_index(spvc_compiler compiler, SpvExecutionMode mode, unsigned index); SPVC_PUBLIC_API SpvExecutionModel spvc_compiler_get_execution_model(spvc_compiler compiler); +SPVC_PUBLIC_API void spvc_compiler_update_active_builtins(spvc_compiler compiler); +SPVC_PUBLIC_API spvc_bool spvc_compiler_has_active_builtin(spvc_compiler compiler, SpvBuiltIn builtin, SpvStorageClass storage); /* * Type query interface.