### 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.renames["TRANSFORM"] = "xform";
		actions.renames["TIME"] = "time";
		actions.renames["PI"] = _MKSTR(Math_PI);
		actions.renames["TAU"] = _MKSTR(Math_TAU);
		actions.renames["E"] = _MKSTR(Math_E);
		actions.renames["LIFETIME"] = "lifetime";
		actions.renames["DELTA"] = "local_delta";
		actions.renames["NUMBER"] = "particle_number";
		actions.renames["INDEX"] = "index";
		
		actions.renames["EMISSION_TRANSFORM"] = "emission_transform";
		actions.renames["RANDOM_SEED"] = "random_seed";
		actions.renames["RESTART_POSITION"] = "restart_position";
		actions.renames["RESTART_ROT_SCALE"] = "restart_rotation_scale";
		actions.renames["RESTART_VELOCITY"] = "restart_velocity";
		actions.renames["RESTART_COLOR"] = "restart_color";
		actions.renames["RESTART_CUSTOM"] = "restart_custom";
		actions.renames["COLLIDED"] = "collided";
		actions.renames["COLLISION_NORMAL"] = "collision_normal";
		actions.renames["COLLISION_DEPTH"] = "collision_depth";
		actions.renames["ATTRACTOR_FORCE"] = "attractor_force";
		
		actions.renames["FLAG_EMIT_POSITION"] = "uint(1)";
		actions.renames["FLAG_EMIT_ROT_SCALE"] = "uint(2)";
		actions.renames["FLAG_EMIT_VELOCITY"] = "uint(4)";
		actions.renames["FLAG_EMIT_COLOR"] = "uint(8)";
		actions.renames["FLAG_EMIT_CUSTOM"] = "uint(16)";
		actions.renames["emit_subparticle"] = "emit_subparticle";
		actions.usage_defines["emit_subparticle"] = "\nbool emit_subparticle(mat4 p_xform, vec3 p_velocity, vec4 p_color, vec4 p_custom, uint p_flags) {\n\treturn false;\n}\n";
		actions.render_mode_defines["disable_force"] = "#define DISABLE_FORCE\n";