### Godot version

4.1.stable

### System information

Windows 10 22H2 - GLES3 - GTX 1080 Ti (driver 536.40)

### Issue description

I noticed this bug in the code while debugging #79315, and confirmed the issue with testing. If you take a material using a filtering mode that has anisotropic filtering (eg `RS::CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC` aka "Linear Mipmap Anisotropic") and switch it to a filtering mode that doesn't have anisotropic filtering (eg `RS::CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS` aka "Linear Mipmap"), the anisotropic filtering remains enabled for the texture until it gets reloaded (eg by reloading the scene). I've only tested this in the editor, but this should also apply to games themselves if they change the filtering mode of a texture through code. This issue doesn't occur with the Mobile renderer (and I assume the Forward+ renderer).



### Steps to reproduce

1. View a surface with a material with anisotropic filtering disabled at an angle that you can tell it's disabled.
![no anisotropic](https://github.com/godotengine/godot/assets/607715/4c3f2c68-6284-412c-9adf-625f4c3e2ab6)

2. Switch the filtering mode of the material to one with anisotropic filtering enabled.
![with anisotropic](https://github.com/godotengine/godot/assets/607715/b67e5bb5-68f8-4934-bf0f-35836666724e)

3. Switch the filtering mode of the material back to a mode with anisotropic filtering disabled, and note how the surface still has anisotropic filtering applied.
![bug anisotropic](https://github.com/godotengine/godot/assets/607715/05037b2e-be9f-4351-8a77-b9b73c832696)


### Minimal reproduction project

I used the texture repeat test program from #79315 for the example pictures, so I'll use that as the minimum reproduction: [RepTest.zip](https://github.com/godotengine/godot/files/12011701/RepTest.zip). Just make sure to rotate the camera for the test, as the default position in that project isn't in a good spot for testing anisotropic filtering.
TextureAtlas::Texture *t = texture_atlas.textures.getptr(p_texture);
		if (!t) {
			return Rect2();
		}
		return t->uv_rect;
	}
	void texture_add_to_texture_atlas(RID p_texture);
	void texture_remove_from_texture_atlas(RID p_texture);
	void texture_atlas_mark_dirty_on_texture(RID p_texture);
	void texture_atlas_remove_texture(RID p_texture);
	
	virtual RID decal_allocate() override;
	virtual void decal_initialize(RID p_rid) override;
	virtual void decal_free(RID p_rid) override{};
	virtual void decal_set_size(RID p_decal, const Vector3 &p_size) override;
	virtual void decal_set_texture(RID p_decal, RS::DecalTexture p_type, RID p_texture) override;
	virtual void decal_set_emission_energy(RID p_decal, float p_energy) override;
	virtual void decal_set_albedo_mix(RID p_decal, float p_mix) override;
	virtual void decal_set_modulate(RID p_decal, const Color &p_modulate) override;
	virtual void decal_set_cull_mask(RID p_decal, uint32_t p_layers) override;
	virtual void decal_set_distance_fade(RID p_decal, bool p_enabled, float p_begin, float p_length) override;
	virtual void decal_set_fade(RID p_decal, float p_above, float p_below) override;
	virtual void decal_set_normal_fade(RID p_decal, float p_fade) override;
	virtual AABB decal_get_aabb(RID p_decal) const override;
	virtual uint32_t decal_get_cull_mask(RID p_decal) const override { return 0; }