Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2019-11-11 13:01:35 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2019-11-11 13:23:21 +0300
commitb9e5fe01b0f24f23be03a429854504c1d3a9407a (patch)
tree1bfc7b3532d6eb8d708577d084929ba1c8c7bd26 /spirv_cross_c.cpp
parentcb73115bcc0f8d4e3ba9d7b2b3b6fe8d9542e084 (diff)
HLSL: Add support to remove register() bindings.
Sometimes it's useful to get automatic binding assignment from the D3D compiler instead.
Diffstat (limited to 'spirv_cross_c.cpp')
-rw-r--r--spirv_cross_c.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/spirv_cross_c.cpp b/spirv_cross_c.cpp
index 4abf8929..5d9e8027 100644
--- a/spirv_cross_c.cpp
+++ b/spirv_cross_c.cpp
@@ -769,6 +769,25 @@ spvc_variable_id spvc_compiler_hlsl_remap_num_workgroups_builtin(spvc_compiler c
#endif
}
+spvc_result spvc_compiler_hlsl_set_resource_binding_flags(spvc_compiler compiler,
+ spvc_hlsl_binding_flags flags)
+{
+#if SPIRV_CROSS_C_API_HLSL
+ if (compiler->backend != SPVC_BACKEND_HLSL)
+ {
+ compiler->context->report_error("HLSL function used on a non-HLSL backend.");
+ return SPVC_ERROR_INVALID_ARGUMENT;
+ }
+
+ auto &hlsl = *static_cast<CompilerHLSL *>(compiler->compiler.get());
+ hlsl.set_resource_binding_flags(flags);
+ return SPVC_SUCCESS;
+#else
+ compiler->context->report_error("HLSL function used on a non-HLSL backend.");
+ return SPVC_ERROR_INVALID_ARGUMENT;
+#endif
+}
+
spvc_bool spvc_compiler_msl_is_rasterization_disabled(spvc_compiler compiler)
{
#if SPIRV_CROSS_C_API_MSL