### Godot version

v4.1.1.stable.flathub [bd6af8e0e]

### System information

Linux pop-os 6.4.6-76060406-generic, RTX3060

### Issue description

Setting a texture as a global shader parameter using RenderingServer.global_shader_parameter_set() does not seem to update the shader properly. However, setting the same texture directly on the shader material using material.set("shader_parameter/mask_texture", texture) works as expected.


BTW. I am also seeing error
```
E 0:00:19:0820   sd.gd:22 @ _draw_texture(): Condition "!global_shader_uniforms.variables.has(p_name)" is true.
  <C++ Source>   servers/rendering/renderer_rd/storage_rd/material_storage.cpp:1684 @ global_shader_parameter_set()
```

### Steps to reproduce

0. Add global shader parameter of type sampler2d
1. Create a basic shader with a uniform sampler2D to accept a texture.
2. Generate a texture in GDScript (for example, a simple black/white mask).
3. Attempt to set this texture as a global shader parameter using:
```
RenderingServer.global_shader_parameter_set("uniform_name", texture)
```
4. Observe that the shader does not update with the new texture.
5. Now, set the texture directly on a material instance using:
```
material.set("shader_parameter/uniform_name", texture)
```
6. Observe that the shader updates correctly with the new texture.

Expected behavior:

Setting a global shader parameter using RenderingServer.global_shader_parameter_set() should update all shaders that utilize this global uniform, just as setting it directly on a material instance does.


### Minimal reproduction project

not included
actions.render_mode_defines["disable_velocity"] = "#define DISABLE_VELOCITY\n";
		actions.render_mode_defines["keep_data"] = "#define ENABLE_KEEP_DATA\n";
		actions.render_mode_defines["collision_use_scale"] = "#define USE_COLLISION_SCALE\n";
		actions.default_filter = ShaderLanguage::FILTER_LINEAR_MIPMAP;
		actions.default_repeat = ShaderLanguage::REPEAT_ENABLE;
		actions.global_buffer_array_variable = "global_shader_uniforms";
		shaders.compiler_particles.initialize(actions);
	}
	{
		
		ShaderCompiler::DefaultIdentifierActions actions;
		actions.renames["COLOR"] = "color";
		actions.renames["ALPHA"] = "alpha";
		actions.renames["EYEDIR"] = "cube_normal";
		actions.renames["POSITION"] = "position";
		actions.renames["SKY_COORDS"] = "panorama_coords";
		actions.renames["SCREEN_UV"] = "uv";
		actions.renames["TIME"] = "time";
		actions.renames["FRAGCOORD"] = "gl_FragCoord";
		actions.renames["PI"] = _MKSTR(Math_PI);
		actions.renames["TAU"] = _MKSTR(Math_TAU);
		actions.renames["E"] = _MKSTR(Math_E);
		actions.renames["HALF_RES_COLOR"] = "half_res_color";
		actions.renames["QUARTER_RES_COLOR"] = "quarter_res_color";
		actions.renames["RADIANCE"] = "radiance";
		actions.renames["FOG"] = "custom_fog";
		actions.renames["LIGHT0_ENABLED"] = "directional_lights.data[0].enabled";
		actions.renames["LIGHT0_DIRECTION"] = "directional_lights.data[0].direction_energy.xyz";
		actions.renames["LIGHT0_ENERGY"] = "directional_lights.data[0].direction_energy.w";
		actions.renames["LIGHT0_COLOR"] = "directional_lights.data[0].color_size.xyz";