diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index b7d34dcc..39eed04c 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -343,10 +343,6 @@ GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* in shader->shader->setEnvTarget(c_shader_target_language(input->target_language), c_shader_target_language_version(input->target_language_version)); - if (input->vulkan_rules_relaxed) { - shader->shader->setEnvInputVulkanRulesRelaxed(); - } - return shader; } @@ -371,6 +367,11 @@ GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int opt if (options & GLSLANG_SHADER_AUTO_MAP_LOCATIONS) { shader->shader->setAutoMapLocations(true); } + + if (options & GLSLANG_SHADER_AUTO_MAP_LOCATIONS) { + shader->shader->setEnvInputVulkanRulesRelaxed(); + } + } GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader) diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index 11315969..14ab6acb 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -166,7 +166,6 @@ typedef struct glslang_input_s { glslang_profile_t default_profile; int force_default_version_and_profile; int forward_compatible; - int vulkan_rules_relaxed; glslang_messages_t messages; const glslang_resource_t* resource; } glslang_input_t; diff --git a/glslang/Include/glslang_c_shader_types.h b/glslang/Include/glslang_c_shader_types.h index 3da3efb6..f5c6b564 100644 --- a/glslang/Include/glslang_c_shader_types.h +++ b/glslang/Include/glslang_c_shader_types.h @@ -185,7 +185,8 @@ typedef enum { typedef enum { GLSLANG_SHADER_DEFAULT_BIT = 0, GLSLANG_SHADER_AUTO_MAP_BINDINGS = (1 << 0), - GLSLANG_SHADER_AUTO_MAP_LOCATIONS = (2 << 0), + GLSLANG_SHADER_AUTO_MAP_LOCATIONS = (1 << 1), + GLSLANG_SHADER_VULKAN_RULES_RELAXED = (1 << 2), LAST_ELEMENT_MARKER(GLSLANG_SHADER_COUNT), } glslang_shader_options_t;