1. A method of distributing workload in a ray tracing image processing system, comprising: configuring one or more processors to perform an operation comprising: allocating a first portion of a plurality of processing elements to only traverse rays through a spatial index having nodes defining bounded volumes of a three dimensional scene, wherein the first portion of the plurality of processing elements traverse the spatial index by taking branches from internal nodes until the rays are traversed to leaf nodes, wherein branches are taken based on whether the rays intersect bounding volumes defined by the nodes; allocating a second portion of the plurality of processing elements to only determine if the rays hit primitives contained in the bounding volumes defined by the leaf nodes and not to traverse rays through the spatial index; monitoring workload experienced by the first portion and the second portion while performing ray tracing by the first and second portions; and reallocating the processing elements between the first portion and the second portion based on the workload experienced by the first portion and the second portion.