Skip to content

Commit 1892468

Browse files
authored
Renderer - Properly Delete ComputeNode Bindings in Dispose (#31832)
* init branch * use this.delete
1 parent 22e1b94 commit 1892468

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/renderers/common/Bindings.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,24 @@ class Bindings extends DataMap {
153153

154154
}
155155

156+
/**
157+
* Deletes the bindings for the given compute node.
158+
*
159+
* @param {Node} computeNode - The compute node.
160+
*/
161+
deleteForCompute( computeNode ) {
162+
163+
const bindings = this.nodes.getForCompute( computeNode ).bindings;
164+
165+
for ( const bindGroup of bindings ) {
166+
167+
this.delete( bindGroup );
168+
169+
}
170+
171+
}
172+
173+
156174
/**
157175
* Updates the given array of bindings.
158176
*

src/renderers/common/Renderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2389,7 +2389,7 @@ class Renderer {
23892389
computeNode.removeEventListener( 'dispose', dispose );
23902390

23912391
pipelines.delete( computeNode );
2392-
bindings.delete( computeNode );
2392+
bindings.deleteForCompute( computeNode );
23932393
nodes.delete( computeNode );
23942394

23952395
};

0 commit comments

Comments
 (0)