26 #include "lib/hash-combine.hpp" 45 const FSecs JOB_MINIMUM_RUNTIME{1,1000};
79 REQUIRE (this->isValid(),
"Attempt to generate render job for incomplete or unspecified render plan.");
83 return Job(functor, invoKey, nominalTime);
97 return Duration{JOB_MINIMUM_RUNTIME};
100 REQUIRE (isValid(),
"Attempt to determine timings for incomplete or unspecified render plan.");
101 return provision_.exitNode.getUpperBoundRuntime();
115 res.part.t = timeMark;
124 return lumiera_invokey_eq (unConst(&l), unConst(&r));
134 return util::isSameObject (
provision_.jobFunctor, functor)
bool verifyInstance(JobFunctor &, InvocationInstanceID const &, Time) const
Helper for tests: verify the given invocation parameters match this JobTicket.
Execution plan to generate render jobs within a specific render process.
Generic implementation of a JobFunctor to perform no calculations.
void combine(size_t &combinedHash, size_t additionalHash)
meld the additional hash value into the given base hash value.
Steam-Layer implementation namespace root.
Access point to singletons and other kinds of dependencies designated by type.
static JobTicket NOP
special »do nothing« JobTicket marker
Lumiera's internal time value datatype.
static InvocationInstanceID timeHash(Time, InvocationInstanceID const &)
Tag the precomputed invocation ID with the nominal frame time.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
boost::rational< int64_t > FSecs
rational representation of fractional seconds
Singleton services and Dependency Injection.
opaque ID attached to each individual job invocation.
size_t HashVal
a STL compatible hash value
Interface of the closure for frame rendering jobs.
Duration is the internal Lumiera time metric.
Individual frame rendering task, forwarding to a closure.
HashVal hash_value(ProcID const &procID)
generate registry hash value based on the distinct data in ProcID.
static ExitNode NIL
storage for the »inactive« ExitNode marker
execution plan for pulling a specific exit node.
Duration getExpectedRuntime()
Core operation: guess expected runtime for rendering.
Job createJobFor(Time nominalTime)
Core operation: build a concrete render job based on this blueprint.