### Godot version

4.0.beta10.official [d0398f62f]

### System information

Windows 10, Vulkan, NVIDIA GeForce RTX 2060m (31.0.15.2698)

### Issue description

I'm getting some kind of clustering/blocky artifact when using spotlights, with no fog or any fancy rendering stuff whatsoever.
I've looked through a bunch of similar issues, but the only ones I could find were related to volumetric fog or other environment effects that I am not using.
Not sure if I'm just missing something, but I think I've played with every option in the spotlight and every option in a WorldEnvironment and nothing makes it go away.

The only lead I have is that the intensity of the artifact seems to be affected by the spot angle. It cycles in a sawtooth pattern every ~0.07 degrees.

![image](https://user-images.githubusercontent.com/13819558/209914720-77a637ea-8cc7-4cff-8216-363f9150885a.png)

Lmk if you need more info or need me to try anything.

### Steps to reproduce

1. New Project (Forward+)
2. Put down some MeshInstance3Ds as a backdrop
3. Put a SpotLight3D
4. Raise spotlight intensity, lower spot angle, and increase range to see it better
5. Slowly increase spot angle to see cycling effect

### Minimal reproduction project

[testspotlight.zip](https://github.com/godotengine/godot/files/10318069/testspotlight.zip)

RD::get_singleton()->free(sphere_vertex_buffer);
	RD::get_singleton()->free(sphere_index_buffer);
	RD::get_singleton()->free(cone_vertex_buffer);
	RD::get_singleton()->free(cone_index_buffer);
	RD::get_singleton()->free(box_vertex_buffer);
	RD::get_singleton()->free(box_index_buffer);
	cluster_render.cluster_render_shader.version_free(cluster_render.shader_version);
	cluster_store.cluster_store_shader.version_free(cluster_store.shader_version);
	cluster_debug.cluster_debug_shader.version_free(cluster_debug.shader_version);
}
void ClusterBuilderRD::_clear() {
	if (cluster_buffer.is_null()) {
		return; 
	}
	RD::get_singleton()->free(cluster_buffer);
	RD::get_singleton()->free(cluster_render_buffer);
	RD::get_singleton()->free(element_buffer);
	cluster_buffer = RID();
	cluster_render_buffer = RID();
	element_buffer = RID();
	memfree(render_elements);
	render_elements = nullptr;
	render_element_max = 0;
	render_element_count = 0;
	RD::get_singleton()->free(framebuffer);
	framebuffer = RID();
	cluster_render_uniform_set = RID();
	cluster_store_uniform_set = RID();
}
void ClusterBuilderRD::setup(Size2i p_screen_size, uint32_t p_max_elements, RID p_depth_buffer, RID p_depth_buffer_sampler, RID p_color_buffer) {