From 9a894341541355ed57174ac9fc5295f0707516f1 Mon Sep 17 00:00:00 2001 From: Attila Schroeder Date: Tue, 29 Apr 2025 03:11:08 +0200 Subject: [PATCH 1/3] Preparation for dispatchWorkgroupsIndirect --- src/nodes/gpgpu/ComputeNode.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/nodes/gpgpu/ComputeNode.js b/src/nodes/gpgpu/ComputeNode.js index ec64913b2e43e0..388c394cc44ac0 100644 --- a/src/nodes/gpgpu/ComputeNode.js +++ b/src/nodes/gpgpu/ComputeNode.js @@ -57,6 +57,14 @@ class ComputeNode extends Node { */ this.workgroupSize = workgroupSize; + /** + * TODO + * + * @type {?BufferAttribute} + * @default null + */ + this.indirect = null; + /** * TODO * @@ -209,6 +217,28 @@ class ComputeNode extends Node { } + /** + * TODO + * + */ + setIndirect( indirect ) { + + this.indirect = indirect; + + return this; + + } + + /** + * TODO + * + */ + getIndirect() { + + return this.indirect; + + } + } export default ComputeNode; From b7909abd9441b2eb81aa659d4ab9bd25bdc71f83 Mon Sep 17 00:00:00 2001 From: Attila Schroeder Date: Tue, 29 Apr 2025 03:58:57 +0200 Subject: [PATCH 2/3] Preparation for dispatchWorkgroupsIndirect --- src/nodes/gpgpu/ComputeNode.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/nodes/gpgpu/ComputeNode.js b/src/nodes/gpgpu/ComputeNode.js index 388c394cc44ac0..81527b591e4dd7 100644 --- a/src/nodes/gpgpu/ComputeNode.js +++ b/src/nodes/gpgpu/ComputeNode.js @@ -220,6 +220,7 @@ class ComputeNode extends Node { /** * TODO * + * @return {ComputeNode} A reference to this node. */ setIndirect( indirect ) { @@ -232,6 +233,7 @@ class ComputeNode extends Node { /** * TODO * + * @return {?BufferAttribute} The indirect attribute. Returns `null` if no indirect attribute is defined. */ getIndirect() { From eda15ca5c02776923915c8b6cc1f63d841193737 Mon Sep 17 00:00:00 2001 From: Attila Schroeder Date: Tue, 29 Apr 2025 04:01:35 +0200 Subject: [PATCH 3/3] Preparation for dispatchWorkgroupsIndirect --- src/nodes/gpgpu/ComputeNode.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nodes/gpgpu/ComputeNode.js b/src/nodes/gpgpu/ComputeNode.js index 81527b591e4dd7..90207b064af677 100644 --- a/src/nodes/gpgpu/ComputeNode.js +++ b/src/nodes/gpgpu/ComputeNode.js @@ -220,6 +220,7 @@ class ComputeNode extends Node { /** * TODO * + * @param {BufferAttribute} indirect - The attribute holding indirect workgroup values. * @return {ComputeNode} A reference to this node. */ setIndirect( indirect ) {