8#include <Common/assertion.h>
32 std::size_t numWorkers,
37 std::size_t numWorkers,
41 std::size_t prioriAxis);
46 void scheduleOne(
WorkUnit* out_workUnit)
override;
59 const std::size_t numWorkers,
68 math::constant::X_AXIS)
72 const std::size_t numWorkers,
76 const std::size_t prioriAxis)
87 math::ceil_div(totalWorkUnit.
getWidth(),
static_cast<int64
>(tileSize.
x())),
88 math::ceil_div(totalWorkUnit.
getHeight(),
static_cast<int64
>(tileSize.
y())));
91 const Region gridWorkRegion(
103inline void TileScheduler::scheduleOne(
WorkUnit*
const out_workUnit)
105 PH_ASSERT(out_workUnit);
123 *out_workUnit = WorkUnit();
Definition GridScheduler.h:20
EOrigin
Definition GridScheduler.h:23
Definition TileScheduler.h:19
TileScheduler()
Definition TileScheduler.h:53
EOrigin
Definition TileScheduler.h:22
A manager that distributes a fixed amount of work to workers.
Definition WorkScheduler.h:21
bool schedule(WorkUnit *out_workUnit)
Get some amount of work.
Definition WorkScheduler.h:85
WorkUnit m_totalWorkUnit
Definition WorkScheduler.h:55
Represents some amount of work.
Definition WorkUnit.h:17
Region getRegion() const
Definition WorkUnit.h:72
int64 getHeight() const
Definition WorkUnit.h:67
std::size_t getDepth() const
Definition WorkUnit.h:77
int64 getWidth() const
Definition WorkUnit.h:62
TVector2< T > getExtents() const
Get the side lengths of the bound.
Definition TAABB2D.ipp:150
TAABB2D & intersectWith(const TAABB2D &other)
Definition TAABB2D.ipp:86
bool isEmpty() const
Definition TAABB2D.ipp:193
const TVector2< T > & getMinVertex() const
Definition TAABB2D.ipp:120
T & x()
Definition TVector2.ipp:38
T & y()
Definition TVector2.ipp:44
T product() const
Definition TArithmeticArrayBase.ipp:358
std::string toString() const
Definition TArithmeticArrayBase.ipp:825
Derived & mulLocal(const Derived &rhs)
Definition TArithmeticArrayBase.ipp:112
Miscellaneous math utilities.
The root for all renderer implementations.
Definition EEngineProject.h:6