Fix completion of source_color hint for texture arrays in shaders
This commit is contained in:
@ -10529,36 +10529,42 @@ Error ShaderLanguage::complete(const String &p_code, const ShaderCompileInfo &p_
|
|||||||
|
|
||||||
r_options->push_back(option);
|
r_options->push_back(option);
|
||||||
}
|
}
|
||||||
} else if ((int(completion_base) > int(TYPE_MAT4) && int(completion_base) < int(TYPE_STRUCT)) && !completion_base_array) {
|
} else if ((int(completion_base) > int(TYPE_MAT4) && int(completion_base) < int(TYPE_STRUCT))) {
|
||||||
Vector<String> options;
|
Vector<String> options;
|
||||||
if (current_uniform_filter == FILTER_DEFAULT) {
|
if (completion_base_array) {
|
||||||
options.push_back("filter_linear");
|
if (current_uniform_hint == ShaderNode::Uniform::HINT_NONE) {
|
||||||
options.push_back("filter_linear_mipmap");
|
options.push_back("source_color");
|
||||||
options.push_back("filter_linear_mipmap_anisotropic");
|
}
|
||||||
options.push_back("filter_nearest");
|
} else {
|
||||||
options.push_back("filter_nearest_mipmap");
|
if (current_uniform_filter == FILTER_DEFAULT) {
|
||||||
options.push_back("filter_nearest_mipmap_anisotropic");
|
options.push_back("filter_linear");
|
||||||
}
|
options.push_back("filter_linear_mipmap");
|
||||||
if (current_uniform_hint == ShaderNode::Uniform::HINT_NONE) {
|
options.push_back("filter_linear_mipmap_anisotropic");
|
||||||
options.push_back("hint_anisotropy");
|
options.push_back("filter_nearest");
|
||||||
options.push_back("hint_default_black");
|
options.push_back("filter_nearest_mipmap");
|
||||||
options.push_back("hint_default_white");
|
options.push_back("filter_nearest_mipmap_anisotropic");
|
||||||
options.push_back("hint_default_transparent");
|
}
|
||||||
options.push_back("hint_normal");
|
if (current_uniform_hint == ShaderNode::Uniform::HINT_NONE) {
|
||||||
options.push_back("hint_roughness_a");
|
options.push_back("hint_anisotropy");
|
||||||
options.push_back("hint_roughness_b");
|
options.push_back("hint_default_black");
|
||||||
options.push_back("hint_roughness_g");
|
options.push_back("hint_default_white");
|
||||||
options.push_back("hint_roughness_gray");
|
options.push_back("hint_default_transparent");
|
||||||
options.push_back("hint_roughness_normal");
|
options.push_back("hint_normal");
|
||||||
options.push_back("hint_roughness_r");
|
options.push_back("hint_roughness_a");
|
||||||
options.push_back("hint_screen_texture");
|
options.push_back("hint_roughness_b");
|
||||||
options.push_back("hint_normal_roughness_texture");
|
options.push_back("hint_roughness_g");
|
||||||
options.push_back("hint_depth_texture");
|
options.push_back("hint_roughness_gray");
|
||||||
options.push_back("source_color");
|
options.push_back("hint_roughness_normal");
|
||||||
}
|
options.push_back("hint_roughness_r");
|
||||||
if (current_uniform_repeat == REPEAT_DEFAULT) {
|
options.push_back("hint_screen_texture");
|
||||||
options.push_back("repeat_enable");
|
options.push_back("hint_normal_roughness_texture");
|
||||||
options.push_back("repeat_disable");
|
options.push_back("hint_depth_texture");
|
||||||
|
options.push_back("source_color");
|
||||||
|
}
|
||||||
|
if (current_uniform_repeat == REPEAT_DEFAULT) {
|
||||||
|
options.push_back("repeat_enable");
|
||||||
|
options.push_back("repeat_disable");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < options.size(); i++) {
|
for (int i = 0; i < options.size(); i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user