Explorar el Código

Fixed OpenGL shadow textures not honoring texture type when reusing textures

(cherry picked from commit 359aaa48eea02f1fc00c746e106e83d523c8acea)
Rudolph Bester hace 1 año
padre
commit
3fac9e43af
Se han modificado 1 ficheros con 5 adiciones y 0 borrados
  1. 5 0
      drivers/gles3/storage/light_storage.cpp

+ 5 - 0
drivers/gles3/storage/light_storage.cpp

@@ -1518,6 +1518,11 @@ bool LightStorage::_shadow_atlas_find_shadow(ShadowAtlas *shadow_atlas, int *p_i
 		uint64_t min_pass = 0; // Pass of the existing one, try to use the least recently used one (LRU fashion).
 
 		for (int j = 0; j < sc; j++) {
+			if (sarr[j].owner_is_omni != is_omni) {
+				// Existing light instance type doesn't match new light instance type skip.
+				continue;
+			}
+
 			LightInstance *sli = light_instance_owner.get_or_null(sarr[j].owner);
 			if (!sli) {
 				// Found a released light instance.