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:
Sergey Sharybin 2014-12-29 13:37:18 +05:00
parent 9c4aba11c9
commit 40517283ca
5 changed files with 5 additions and 4 deletions

@ -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. */