### Godot version

v4.0.3.stable.official [5222a99f5]

### System information

Godot v4.0.3.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1080 (NVIDIA; 31.0.15.1694) - Intel(R) Core(TM) i5-10600KF CPU @ 4.10GHz (12 Threads)

### Issue description

There is no way to set the filter or repeat mode of a sampler2D array, trying to do so using shader hints `filter_nearest`/`filter_linear` or `repeat_enable`/`repeat_disable` results in an error:
`error(3): This hint is not supported for uniform arrays.`

Note: not a duplicate of #62472, which applies to `sampler2DArray`s, but not arrays of `sampler2D`s

### Steps to reproduce

```
shader_type spatial;

uniform sampler2D[8] textures : source_color, filter_nearest;
```

### Minimal reproduction project

N/A
ScriptLanguage::CodeCompletionKind kind = ScriptLanguage::CODE_COMPLETION_KIND_MEMBER;
								if (E.value.constant) {
									kind = ScriptLanguage::CODE_COMPLETION_KIND_CONSTANT;
								}
								matches.insert(E.key, kind);
							}
						}
					}
					for (const KeyValue<StringName, ShaderNode::Constant> &E : shader->constants) {
						matches.insert(E.key, ScriptLanguage::CODE_COMPLETION_KIND_CONSTANT);
					}
					for (const KeyValue<StringName, ShaderNode::Varying> &E : shader->varyings) {
						matches.insert(E.key, ScriptLanguage::CODE_COMPLETION_KIND_VARIABLE);
					}
					for (const KeyValue<StringName, ShaderNode::Uniform> &E : shader->uniforms) {
						matches.insert(E.key, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER);
					}
				}
				for (int i = 0; i < shader->functions.size(); i++) {
					if (!shader->functions[i].callable || shader->functions[i].name == skip_function) {
						continue;
					}
					matches.insert(String(shader->functions[i].name), ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
				}
				int idx = 0;
				bool low_end = RenderingServer::get_singleton()->is_low_end();
				if (stages && stages->has(skip_function)) {
					for (const KeyValue<StringName, StageFunctionInfo> &E : (*stages)[skip_function].stage_functions) {
						matches.insert(String(E.key), ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
					}