Skip to content

Replace DedicatedLoop with EventJobHandle; add vsync-driven job graph#74

Merged
samcake merged 1 commit into
mainfrom
claudio
Apr 19, 2026
Merged

Replace DedicatedLoop with EventJobHandle; add vsync-driven job graph#74
samcake merged 1 commit into
mainfrom
claudio

Conversation

@samcake
Copy link
Copy Markdown
Owner

@samcake samcake commented Apr 19, 2026

  • Introduce EventJobHandle (created via JobScheduler::createEventJob): dedicated thread blocks on WaitFn without holding any mutex, fires the Trigger output, then holds frameMutex only while downstream jobs run on the pool — opening a gap between frames for resize and other external ops
  • Add JobGraph::executeDownstreamOf for pool-based downstream dispatch; fix pending-input count so seedJob is not counted as a pending input
  • Add JobScheduler::createEventJob factory
  • Name pool worker threads pico::Job::Thread::A/B/C... (AA/AB... beyond Z)
  • Name EventJob dedicated threads pico::Job::
  • Name FileWatcher thread pico::FileWatcher
  • Wire pico_04, pico_eye, pico_terrain to vsync EventJob -> present chain

- Introduce EventJobHandle (created via JobScheduler::createEventJob):
  dedicated thread blocks on WaitFn without holding any mutex, fires the
  Trigger output, then holds frameMutex only while downstream jobs run on
  the pool — opening a gap between frames for resize and other external ops
- Add JobGraph::executeDownstreamOf for pool-based downstream dispatch;
  fix pending-input count so seedJob is not counted as a pending input
- Add JobScheduler::createEventJob factory
- Name pool worker threads pico::Job::Thread::A/B/C... (AA/AB... beyond Z)
- Name EventJob dedicated threads pico::Job::<jobname>
- Name FileWatcher thread pico::FileWatcher
- Wire pico_04, pico_eye, pico_terrain to vsync EventJob -> present chain
@samcake samcake merged commit 2200640 into main Apr 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant