Commit graph

173 commits

Author SHA1 Message Date
016a739a5c WIP back to the original problem: how to dispatch jobs...
brainstorming how to implement the job planning stage

the idea is to built on top of the IterExplorer,
but have the "stack" of re-evaluation integrated
into a custom type, which exploits the static
node network structure to avoid heap allocations

solution idea: again use a builder function?
2012-10-10 05:20:20 +02:00
fa15a38016 draft JobTicket implementation datastructure
...but need an extension on our iterator helpers
to build a suitable functional datastructure
for generating Jobs.
2012-10-10 05:20:15 +02:00
3ef1fb7697 linked list helper template finished and passes test 2012-10-10 05:20:14 +02:00
ddff8b654b WIP investigating the relation of Jobs, JobTicket and Closure in detail 2012-10-10 05:20:14 +02:00
4ceec90b9e design decision how to invoke a job
without any trickery, we'll always get two indirections.
Thus, the decision is to turn the 2nd indirection
into a VTable call; this way, basically the JobClosure
also acts as job functor itself.
2012-10-10 05:20:13 +02:00
0320bc4b2c considering the relation of Job and JobClosure 2012-10-10 05:20:13 +02:00
bb43c03ef9 stub all the job generating functions required for the dispatcher interface 2012-10-10 05:20:13 +02:00
08d266819d re-read my own code and pick up the design work
..next question is: how to shape the dispatcher interface,
in order to support ongoing chunk wise planning
of new jobs, including a continuation
2012-10-10 05:20:13 +02:00
7941865d5d implement anchor against current system time
using CLOCK_REALTIME for now
2012-10-10 05:20:12 +02:00
882bcf07ae define stubs for accessing the wall clock time (->Backend) 2012-10-10 05:20:12 +02:00
aa01813f52 TimeAnchor: draft calculating the start delay for rendering 2012-10-10 05:20:12 +02:00
ee1450a81a rectify frame dispatch invocation 2012-10-10 05:20:12 +02:00
f8f011bb44 rework Job representation
make class Job a real subclass of the
job definition struct and turn the
JobClosure into a trampoline
2012-10-10 05:20:12 +02:00
1e54b5d3e6 stubbing some job functions 2012-10-10 05:20:11 +02:00
db68577b4a clarify relation of Job, JobTicket and channel number 2012-10-10 05:20:11 +02:00
875342fa40 initial draft for the job representation
this draft is based on
 - Cehteh's draft for the scheduler
 - my plannings about segmentation and JobTicket

it defines "Job" as a closure which can be invoked
from plain-C, using the information in the
job descriptor datastructure
2012-10-10 05:20:11 +02:00
e9dbb3bdb1 stubs for some important components of play/engine (JobTicket...)
also touches the question how to represent the job
descriptor datastructure. @Cehteh: I've just pasted
in your preliminary data struct definitinons
from the relevant mailing list discussions.
2012-10-10 05:20:11 +02:00
568fadd526 draft some steps of the dispatch operation 2012-10-10 05:20:10 +02:00
a4e3383367 turn Dispatcher into an interface 2012-10-10 05:20:09 +02:00
e581246f63 forming some entities to support the dispatch step 2012-10-10 05:19:56 +02:00
2eb39704fc test-driven brainstorming: how to use the dummy playback?
this is an idea how to test a test setup :)
2012-10-10 05:18:58 +02:00
7e7ecc5d51 draft: integrating an engine mock implementation 2012-10-10 05:18:58 +02:00
ec659b7141 a better way to inject the Render-Engine Mock
instead of (ab)using the Timings spect for a
runtime switch, better use the existing
MockInjector facility and thus turn the
mock engine mode into a global switch
2012-10-10 05:18:57 +02:00
24911dc990 solution to integrate an Engine Mock implementation 2012-10-10 05:18:57 +02:00
06c7c27252 merge diagnostic facilities 2011-12-31 06:49:31 +01:00
451b0abec5 spelling and typos 2011-12-24 05:48:31 +01:00
6852a6feff WIP refactor building of the active render feeds
RenderConfigurator becomes an internal strategy
controlled by the PlayService
2011-12-17 04:45:42 +01:00
bda0dea990 clarify the relation of PlayProcess, CalcStream and EngineFacade 2011-12-17 02:20:48 +01:00
8362145039 spelling and comments 2011-12-10 03:13:45 +01:00
477b443191 implement diagnostic OutputSlot simple frame tracking
...should be enough to run tests against the OutputSlot interface
2011-12-09 01:03:02 +01:00
aef3d50ffd implement basics of the diagnostic OutputSlot
...specific diagnostic facilities still lacking
2011-12-08 23:02:19 +01:00
7fd28e23eb cleanup configflags to use uint instead of char
using char for those flag template parameters
was never a good idea. It won't save us any space
and makes debugging harder
2011-12-03 03:16:08 +01:00
d9f84a9bfd clean up lib/meta namespaces 2011-12-03 03:15:59 +01:00
b9d1899486 cleanup: rectify Proc-Layer namespaces (II) 2011-12-02 17:50:44 +01:00
eb79a00cf4 cleanup: rectify Proc-Layer namespaces (I) 2011-12-02 16:10:03 +01:00
89a9202c6c cleanup: remove precompiled headers
we don't need them and they even tend to
increase build times due to unnecessary
compound-includes at some core headers
2011-12-01 23:32:34 +01:00
7ba8ff432f BufferProvider interface finished thus far.
simulated lifecycle passes unit test
2011-11-26 00:09:59 +01:00
55a77bdd73 factor out and treat the attaching of objects separately
this is an advanced feature not required
in the standard buffer usage cycle
2011-11-25 20:23:31 +01:00
ce25be6fa3 refactor relation of BuffHandle and BufferDescriptor
they are now tightly coupled and assumed to
work together; there is no need to relay half
of BuffHandle's interface through BufferDescriptor
2011-11-25 18:20:01 +01:00
d6b069fbbd clean-up after refactoring 2011-11-25 17:29:06 +01:00
eed6d8cd1e split out obsolete ChannelDescriptor for later refactoring
Meanwhile, BuffHanle became way more concrete,
making the separation of any kind of buffer or channel
type management concievable.

Thus: extract the obsolete ChannelDescriptor
and use switch at any location where the old
(superseeded) buffer handle is still referred
2011-11-25 17:16:33 +01:00
74702ebecd address the next test... 2011-11-24 03:33:23 +01:00
2ae1e3c8f9 test/dummy buffer provider finished and passes test 2011-11-21 03:26:08 +01:00
d6de8c8d1a implement some missing nits and bits 2011-11-21 02:28:44 +01:00
91b74ad7bd implement missing parts of test/dummy buffer provider 2011-11-20 01:35:52 +01:00
3830ff7ce1 refactor the test/dummy provider, based on ScopedPtrVect solely
instead of using a vector directy, move the
additionally required functinoality in the
utility class. This forced me to adjust
the IterAdapter, to allow working with
STL algorithms
2011-11-19 17:51:08 +01:00
27449c1438 implementation details of a test/dummy provider 2011-11-18 01:23:50 +01:00
623bb401af clarify implementation extension points of BufferProvider
decide especially how to pass on the implementation
defined data like e.g. pointers to storage extents
2011-11-15 04:47:31 +01:00
d1d0f66fa8 allow LocalKey to carry arbitrary pointers or hashes as payload
...used to piggyback opaque implementation data,
deliberately no typecheck here
2011-11-15 04:46:00 +01:00
6bc94cccb5 WIP refactor BufferProvider public and protected API 2011-11-14 01:43:29 +01:00