Răsfoiți Sursa

WebGLShaderCache: Fix remove(). (#23624)

Michael Herzog 3 ani în urmă
părinte
comite
e07fa4be82
1 a modificat fișierele cu 4 adăugiri și 3 ștergeri
  1. 4 3
      src/renderers/webgl/WebGLShaderCache.js

+ 4 - 3
src/renderers/webgl/WebGLShaderCache.js

@@ -45,7 +45,7 @@ class WebGLShaderCache {
 
 			shaderStage.usedTimes --;
 
-			if ( shaderStage.usedTimes === 0 ) this.shaderCache.delete( shaderStage );
+			if ( shaderStage.usedTimes === 0 ) this.shaderCache.delete( shaderStage.code );
 
 		}
 
@@ -94,7 +94,7 @@ class WebGLShaderCache {
 
 		if ( cache.has( code ) === false ) {
 
-			const stage = new WebGLShaderStage();
+			const stage = new WebGLShaderStage( code );
 			cache.set( code, stage );
 
 		}
@@ -107,10 +107,11 @@ class WebGLShaderCache {
 
 class WebGLShaderStage {
 
-	constructor() {
+	constructor( code ) {
 
 		this.id = _id ++;
 
+		this.code = code;
 		this.usedTimes = 0;
 
 	}