Jelajahi Sumber

TSL: Cache function nodes per renderer's backend (#33517)

sunag 1 bulan lalu
induk
melakukan
7a76854ba4
1 mengubah file dengan 4 tambahan dan 2 penghapusan
  1. 4 2
      src/nodes/tsl/TSLCore.js

+ 4 - 2
src/nodes/tsl/TSLCore.js

@@ -506,13 +506,15 @@ class ShaderCallNodeInternal extends Node {
 
 		if ( shaderNode.layout ) {
 
-			let functionNodesCacheMap = nodeBuilderFunctionsCacheMap.get( builder.constructor );
+			const backend = builder.renderer.backend;
+
+			let functionNodesCacheMap = nodeBuilderFunctionsCacheMap.get( backend );
 
 			if ( functionNodesCacheMap === undefined ) {
 
 				functionNodesCacheMap = new WeakMap();
 
-				nodeBuilderFunctionsCacheMap.set( builder.constructor, functionNodesCacheMap );
+				nodeBuilderFunctionsCacheMap.set( backend, functionNodesCacheMap );
 
 			}
 

粤ICP备19079148号