Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/src/util/dyn_shaderc.h
6233 views
1
// SPDX-FileCopyrightText: 2019-2025 Connor McLaughlin <[email protected]>
2
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
3
4
#pragma once
5
6
#include "shaderc/shaderc.h"
7
8
#define DYN_SHADERC_FUNCTIONS(X) \
9
X(shaderc_compiler_initialize) \
10
X(shaderc_compiler_release) \
11
X(shaderc_compile_options_initialize) \
12
X(shaderc_compile_options_release) \
13
X(shaderc_compile_options_set_source_language) \
14
X(shaderc_compile_options_set_generate_debug_info) \
15
X(shaderc_compile_options_set_optimization_level) \
16
X(shaderc_compile_options_set_target_env) \
17
X(shaderc_compilation_status_to_string) \
18
X(shaderc_compile_into_spv) \
19
X(shaderc_result_release) \
20
X(shaderc_result_get_length) \
21
X(shaderc_result_get_num_warnings) \
22
X(shaderc_result_get_bytes) \
23
X(shaderc_result_get_compilation_status) \
24
X(shaderc_result_get_error_message) \
25
X(shaderc_optimize_spv)
26
27
namespace dyn_libs {
28
29
extern bool OpenShaderc(Error* error);
30
31
#define ADD_FUNC(F) extern decltype(&::F) F;
32
DYN_SHADERC_FUNCTIONS(ADD_FUNC)
33
#undef ADD_FUNC
34
35
extern shaderc_compiler_t g_shaderc_compiler;
36
37
} // namespace dyn_libs
38
39