### Godot version

4.0dev_beta15

### System information

Windows10, GLES3, RX6600XT

### Issue description

Using Shader Globals (global uniforms) in Rendering Method gl_compatability (OpenGL3.3) causes shader compilation to fail.

### Steps to reproduce

Create a Shader Global of any type. This case I am using one named GLOBAL_BOOL of type bool.

Use the global in a gdshader:
```
shader_type spatial;

global uniform bool GLOBAL_BOOL;

void vertex() {
	GLOBAL_BOOL;
}
```

Attach shader to any material and get the following error:
```
  drivers/gles3/shader_gles3.cpp:242 - SceneShaderGLES3: Vertex shader compilation failed:
  ERROR: 0:386: '' :  syntax error, unexpected LEFT_BRACKET, expecting RIGHT_PAREN
  ERROR: 1 compilation errors.  No code generated.
```
The offending piece of generated glsl shader code:
```
385: 	{
386: 		bool(floatBitsToUint([m_GLOBAL_BOOL].x));
387: 	}
```

Basically it's trying to access the `global_shader_uniforms` array and retrieve the `m_GLOBAL_BOOL`th element, but it is forgetting to prepend the array name. It should look like this:
```
385: 	{
386: 		bool(floatBitsToUint(global_shader_uniforms[m_GLOBAL_BOOL].x));
387: 	}
```

Rummaging through the code, the `Shader::DefaultIdentifierActions` for GLES3 side of things found in `\drivers\gles3\storage\material_storage.cpp` forgets to set the value for `global_buffer_array_variable`. The fix would be to add the line
```actions.global_buffer_array_variable = "global_shader_uniforms";```
before initializing the `ShaderCompiler`s. There are four `ShaderCompiler`s so you would need to add that line before each of their initializations if you want all of them to have access to Shader Globals. Attached is the laziest updated code to `material_storage.cpp` that fixes this issue.
[material_storage_fix.zip](https://github.com/godotengine/godot/files/10497086/material_storage_fix.zip)

### Minimal reproduction project

[GlobalShaderUniformsBug.zip](https://github.com/godotengine/godot/files/10497094/GlobalShaderUniformsBug.zip)

}
			tk = _get_token();
			if (tk.type == TK_COMMA) {
				an->initializer.push_back(n);
			} else if (!auto_size && tk.type == TK_PARENTHESIS_CLOSE) {
				an->initializer.push_back(n);
				break;
			} else if (auto_size && tk.type == TK_CURLY_BRACKET_CLOSE) {
				an->initializer.push_back(n);
				break;
			} else {
				if (auto_size) {
					_set_expected_error("}", ",");
				} else {
					_set_expected_error(")", ",");
				}
				return nullptr;
			}
		}
		if (an->initializer.size() != p_array_size) {
			_set_error(RTR("Array size mismatch."));
			return nullptr;
		}
	} else {
		_set_error(RTR("Expected array initialization."));
		return nullptr;
	}
	return an;
}
ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, const FunctionInfo &p_function_info) {