Skip to content

Commit 0eddad5

Browse files
Spiri0Attila Schroedersunag
authored
WGSLNodeBuilder: Improve isCustomStruct() checking (#30525)
* removed example because puppeteer always make black screenshot * Revert "removed example because puppeteer always make black screenshot" This reverts commit 3376eb8. * Update WGSLNodeBuilder.js --------- Co-authored-by: Attila Schroeder <attila-schroeder.79@gmail.com> Co-authored-by: sunag <sunagbrasil@gmail.com>
1 parent 9147649 commit 0eddad5

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/renderers/webgpu/nodes/WGSLNodeBuilder.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -1614,7 +1614,16 @@ ${ flowData.code }
16141614

16151615
isCustomStruct( nodeUniform ) {
16161616

1617-
return nodeUniform.value.isStorageBufferAttribute && nodeUniform.node.structTypeNode !== null;
1617+
const attribute = nodeUniform.value;
1618+
const bufferNode = nodeUniform.node;
1619+
1620+
const isAttributeStructType = ( attribute.isBufferAttribute || attribute.isInstancedBufferAttribute ) && bufferNode.structTypeNode !== null;
1621+
1622+
const isStructArray =
1623+
( bufferNode.value && bufferNode.value.array ) &&
1624+
( typeof bufferNode.value.itemSize === 'number' && bufferNode.value.array.length > bufferNode.value.itemSize );
1625+
1626+
return isAttributeStructType && ! isStructArray;
16181627

16191628
}
16201629

0 commit comments

Comments
 (0)