Asher Norland
Asher Norland
Conan currently uses the CMake environment variable `self.user_info.ENGINE_PATH` to store the location of the engine directory and share that with other repositories. A Conan "workspace" functionally does the same thing...
The option exists to choose building Soul Engine as a static or shared library and should remain a user choice. However, the functionality of the option does not exist.
The `sharedQueues_` in `Soul Engine\Source\Parallelism\Fiber\SchedulerAlgorithm.h` implement a spinlock that coordinates queue access. These queues follow the single producer multiple consumer model. Each thread creates its own work and other threads...
If you look in `Soul Engine\Source\Parallelism\Fiber\SchedulerAlgorithm.h` you will find on line 57 `boost::fibers::detail::spinlock`. Essentially, when many threads try to access the `localQueues_` the spin-lock only allows one thread at a...
Headers should not be included when a forward declaration suffices. If an `#include` is used for just a signature such as - `void PushBack(const Dog$);` - `Dog* dog` and not...
`Core/Structures/Ringbuffer` has many missing data structure features. Complete and test the class in your own test project before submitting a PR.
The RingBuffer needs a few unit tests. Since we don't have a testing framework yet, a few functions and an entry point will do just fine.
The BVH files `BVH.cu` + `BVH.cuh` need to be abstracted into a `.cpp` and `.h`.
Kernels are attached to a templated in a function called `Launch` that then delegates them to a CUDA or OpenCL launch. The pointer itself is a CUDA feature and will...