#include "settings.h"
#include "allocation.h"
#include "cJSON.h"
#include "loader.h"
#include "loader_environment.h"
#include "loader_windows.h"
#include "log.h"
#include "stack_allocation.h"
#include "vk_loader_platform.h"
loader_platform_thread_mutex global_loader_settings_lock;
loader_settings global_loader_settings;
void free_layer_configuration(const struct loader_instance* inst, loader_settings_layer_configuration* layer_configuration) { … }
void free_loader_settings(const struct loader_instance* inst, loader_settings* settings) { … }
loader_settings_layer_control parse_control_string(char* control_string) { … }
const char* loader_settings_layer_control_to_string(loader_settings_layer_control control) { … }
uint32_t parse_log_filters_from_strings(struct loader_string_list* log_filters) { … }
bool parse_json_enable_disable_option(const struct loader_instance* inst, cJSON* object, const char* key) { … }
VkResult parse_layer_configuration(const struct loader_instance* inst, cJSON* layer_configuration_json,
loader_settings_layer_configuration* layer_configuration) { … }
VkResult parse_layer_configurations(const struct loader_instance* inst, cJSON* settings_object, loader_settings* loader_settings) { … }
VkResult check_if_settings_path_exists(const struct loader_instance* inst, char* base, char* suffix, char** settings_file_path) { … }
VkResult get_unix_settings_path(const struct loader_instance* inst, char** settings_file_path) { … }
bool check_if_settings_are_equal(loader_settings* a, loader_settings* b) { … }
void log_settings(const struct loader_instance* inst, loader_settings* settings) { … }
VkResult get_loader_settings(const struct loader_instance* inst, loader_settings* loader_settings) { … }
VkResult update_global_loader_settings(void) { … }
void init_global_loader_settings(void) { … }
void teardown_global_loader_settings(void) { … }
bool should_skip_logging_global_messages(VkFlags msg_type) { … }
const loader_settings* get_current_settings_and_lock(const struct loader_instance* inst) { … }
void release_current_settings_lock(const struct loader_instance* inst) { … }
VkResult get_settings_layers(const struct loader_instance* inst, struct loader_layer_list* settings_layers,
bool* should_search_for_other_layers) { … }
bool check_if_layer_is_in_list(struct loader_layer_list* layer_list, struct loader_layer_properties* layer_property) { … }
VkResult combine_settings_layers_with_regular_layers(const struct loader_instance* inst, struct loader_layer_list* settings_layers,
struct loader_layer_list* regular_layers,
struct loader_layer_list* output_layers) { … }
VkResult enable_correct_layers_from_settings(const struct loader_instance* inst, const struct loader_envvar_all_filters* filters,
uint32_t app_enabled_name_count, const char* const* app_enabled_names,
const struct loader_layer_list* instance_layers,
struct loader_pointer_layer_list* target_layer_list,
struct loader_pointer_layer_list* activated_layer_list) { … }