forked from bartvdbraak/blender
Cycles: Bump stack size for QBVH traversal code
Traversal now can push up to 2x of nodes to the stack, so need some tweaks to the stack size.
This commit is contained in:
parent
9c4aba11c9
commit
40517283ca
@ -20,6 +20,7 @@
|
||||
|
||||
/* 64 object BVH + 64 mesh BVH + 64 object node splitting */
|
||||
#define BVH_STACK_SIZE 192
|
||||
#define BVH_QSTACK_SIZE 384
|
||||
#define BVH_NODE_SIZE 4
|
||||
#define BVH_QNODE_SIZE 7
|
||||
#define TRI_NODE_SIZE 3
|
||||
|
@ -39,7 +39,7 @@ ccl_device bool BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
|
||||
*/
|
||||
|
||||
/* Traversal stack in CUDA thread-local memory. */
|
||||
QBVHStackItem traversalStack[BVH_STACK_SIZE];
|
||||
QBVHStackItem traversalStack[BVH_QSTACK_SIZE];
|
||||
traversalStack[0].addr = ENTRYPOINT_SENTINEL;
|
||||
|
||||
/* Traversal variables in registers. */
|
||||
|
@ -42,7 +42,7 @@ ccl_device uint BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
|
||||
*/
|
||||
|
||||
/* Traversal stack in CUDA thread-local memory. */
|
||||
QBVHStackItem traversalStack[BVH_STACK_SIZE];
|
||||
QBVHStackItem traversalStack[BVH_QSTACK_SIZE];
|
||||
traversalStack[0].addr = ENTRYPOINT_SENTINEL;
|
||||
|
||||
/* Traversal variables in registers. */
|
||||
|
@ -47,7 +47,7 @@ ccl_device bool BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
|
||||
*/
|
||||
|
||||
/* Traversal stack in CUDA thread-local memory. */
|
||||
QBVHStackItem traversalStack[BVH_STACK_SIZE];
|
||||
QBVHStackItem traversalStack[BVH_QSTACK_SIZE];
|
||||
traversalStack[0].addr = ENTRYPOINT_SENTINEL;
|
||||
traversalStack[0].dist = -FLT_MAX;
|
||||
|
||||
|
@ -38,7 +38,7 @@ ccl_device bool BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg,
|
||||
*/
|
||||
|
||||
/* Traversal stack in CUDA thread-local memory. */
|
||||
QBVHStackItem traversalStack[BVH_STACK_SIZE];
|
||||
QBVHStackItem traversalStack[BVH_QSTACK_SIZE];
|
||||
traversalStack[0].addr = ENTRYPOINT_SENTINEL;
|
||||
|
||||
/* Traversal variables in registers. */
|
||||
|
Loading…
Reference in New Issue
Block a user