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