librashader/librashader-capi/cbindgen.toml
2023-01-14 01:38:59 -05:00

85 lines
2.4 KiB
TOML

language = "C"
cpp_compat = true
include_guard = "__LIBRASHADER_H__"
pragma_once = true
usize_is_size_t = true
documentation_style = "c++"
after_includes = "#if defined(_WIN32) && defined(LIBRA_RUNTIME_D3D11)\n#include <d3d11.h>\n#else\ntypedef void ID3D11Device;typedef void ID3D11RenderTargetView;typedef void ID3D1ShaderResourceView;\n#endif\n#if defined(LIBRA_RUNTIME_VULKAN)\n#include <vulkan\\vulkan.h>\n#endif"
[defines]
"feature = runtime-opengl" = "LIBRA_RUNTIME_OPENGL"
"feature = runtime-d3d11" = "LIBRA_RUNTIME_D3D11"
"feature = runtime-vulkan" = "LIBRA_RUNTIME_VULKAN"
[parse]
parse_deps = true
include = ["librashader",
"librashader-presets",
"librashader-preprocess",
"librashader-reflect",
"librashader-runtime-gl",
"librashader-runtime-d3d11",
"librashader-runtime-vk",
]
expand = ["librashader-capi"]
[struct]
[enum]
rename_variants = "ScreamingSnakeCase"
prefix_with_name = true
[export]
include = [
# preset
"PFN_libra_preset_create",
"PFN_libra_preset_free",
"PFN_libra_preset_set_param",
"PFN_libra_preset_get_param",
"PFN_libra_preset_print",
"PFN_libra_preset_get_runtime_param_names",
# error
"PFN_libra_error_errno",
"PFN_libra_error_print",
"PFN_libra_error_free",
"PFN_libra_error_write",
"PFN_libra_error_free_string",
# gl
"PFN_libra_gl_init_context",
"PFN_libra_gl_filter_chain_create",
"PFN_libra_gl_filter_chain_frame",
"PFN_libra_gl_filter_chain_free",
# d3d11
"PFN_libra_d3d11_filter_chain_create",
"PFN_libra_d3d11_filter_chain_frame",
"PFN_libra_d3d11_filter_chain_free",
# vulkan
"PFN_libra_vk_filter_chain_create",
"PFN_libra_vk_filter_chain_frame",
"PFN_libra_vk_filter_chain_free",
]
[export.rename]
"LibrashaderError" = "_libra_error"
"ShaderPreset" = "_shader_preset"
"FilterChainGL" = "_filter_chain_gl"
"FilterChainOptionsGL" = "filter_chain_gl_opt_t"
"FrameOptionsGL" = "frame_gl_opt_t"
"FilterChainD3D11" = "_filter_chain_d3d11"
"FilterChainOptionsD3D11" = "filter_chain_d3d11_opt_t"
"FrameOptionsD3D11" = "frame_vk_opt_t"
"FilterChainVulkan" = "_filter_chain_vk"
"FilterChainOptionsVulkan" = "filter_chain_vk_opt_t"
"FrameOptionsVullam" = "frame_vk_opt_t"
# vulkan renames
"PhysicalDevice" = "VkPhysicalDevice"
"Instance" = "VkInstance"
"Device" = "VkDevice"
"CommandBuffer" = "VkCommandBuffer"
"Format" = "VkFormat"
"Image" = "VkImage"