@ -375,7 +375,7 @@
( type-cast ( malloc ( sizeof ( type task-system-pinned-task-arguments ) ) )
( addr task-system-pinned-task-arguments ) ) )
( scope
( var task-params enkiParamsPinnedTask ( enkiGetParamsPinnedTask ( token-splice-addr task-name ) ) )
( var task-params ( struct enkiParamsPinnedTask ) ( enkiGetParamsPinnedTask ( token-splice-addr task-name ) ) )
( set ( path ( token-splice-addr pinned-task-arguments-name ) > task-thread-id )
g-task-system-main-thread-index ) ;; Hard coded to main thread
( set ( path ( token-splice-addr pinned-task-arguments-name ) > task-to-execute )
@ -407,7 +407,7 @@
( type-cast ( malloc ( sizeof ( type task-system-pinned-task-arguments ) ) )
( addr task-system-pinned-task-arguments ) ) )
( scope
( var task-params enkiParamsPinnedTask
( var task-params ( struct enkiParamsPinnedTask )
( enkiGetParamsPinnedTask ( token-splice-addr task-name ) ) )
( ( token-splice-addr task-argument-fill ) ( token-splice-addr task-arguments-name )
( token-splice-array parsed-arguments ) )
@ -439,7 +439,7 @@
( enkiCreateTaskSet ( field g-task-system task-scheduler )
( token-splice invocation-token ) ) )
( scope
( var task-params enkiParamsTaskSet
( var task-params ( struct enkiParamsTaskSet )
( enkiGetParamsTaskSet ( token-splice-addr task-name ) ) )
( token-splice-array params-setters )
( enkiSetParamsTaskSet ( token-splice-addr task-name ) task-params ) ) ) )
@ -461,7 +461,7 @@
( addr ( token-splice-addr task-argument-type ) )
( malloc ( sizeof ( type ( token-splice-addr task-argument-type ) ) ) ) )
( scope
( var task-params enkiParamsTaskSet
( var task-params ( struct enkiParamsTaskSet )
( enkiGetParamsTaskSet ( token-splice-addr task-name ) ) )
( token-splice-array params-setters )
( ( token-splice-addr task-argument-fill ) ( token-splice-addr task-arguments-name )
@ -657,7 +657,7 @@
( var cleanup-action ( addr enkiCompletionAction )
( enkiCreateCompletionAction ( field g-task-system task-scheduler ) null ;; No pre-complete
task-system-cleanup-execution-action ) )
( var action-params enkiParamsCompletionAction
( var action-params ( struct enkiParamsCompletionAction )
( enkiGetParamsCompletionAction cleanup-action ) )
( set ( field action-params pArgsPostComplete ) cleanup-action-arguments )
( set ( field action-params pDependency ) ( token-splice-array task-to-depend-on-arg ) )
@ -812,7 +812,7 @@
( fprintf stderr "\nCreating tasks within the complete call!\n" )
( var my-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler my-long-task ) )
( scope
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-task ) )
( set ( field task-params setSize ) 100 )
( set ( field task-params minRange ) 10 )
( enkiSetParamsTaskSet my-task task-params ) )
@ -820,14 +820,14 @@
;; This time, use dependencies rather than completion action
( var my-dependent-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler after-my-long-task ) )
( scope
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-dependent-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-dependent-task ) )
( set ( field task-params setSize ) 1 )
( set ( field task-params minRange ) 1 )
( enkiSetParamsTaskSet my-dependent-task task-params ) )
( var my-other-dependent-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler test-task ) )
( scope
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-other-dependent-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-other-dependent-task ) )
( var-static my-args test-task-arguments
( array 42 "Hello, TaskSystem!" ) )
( set ( field task-params pArgs ) ( addr my-args ) )
@ -857,7 +857,7 @@
( var cleanup-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler cleanup-complete-tasks ) )
( scope
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet cleanup-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet cleanup-task ) )
( var-cast-to cleanup-args ( addr cleanup-complete-tasks-arguments )
( malloc ( sizeof ( type cleanup-complete-tasks-arguments ) ) ) )
( cleanup-complete-tasks-arguments-fill cleanup-args my-task my-dependent-task my-other-dependent-task
@ -891,14 +891,14 @@
( fprintf stderr "Created %d threads\n" ( enkiGetNumTaskThreads task-scheduler ) )
( var my-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler my-long-task ) )
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-task ) )
( set ( field task-params setSize ) 100 )
( set ( field task-params minRange ) 10 )
( enkiSetParamsTaskSet my-task task-params )
( var completion-action ( addr enkiCompletionAction )
( enkiCreateCompletionAction task-scheduler null on-my-long-task-complete ) )
( var completion-args enkiParamsCompletionAction
( var completion-args ( struct enkiParamsCompletionAction )
( enkiGetParamsCompletionAction completion-action ) )
( set ( field completion-args pDependency ) ( enkiGetCompletableFromTaskSet my-task ) )
( enkiSetParamsCompletionAction completion-action completion-args )
@ -926,7 +926,7 @@
( defun-local on-discover-task-complete ( args ( addr void ) threadnum uint32_t )
( fprintf stderr "[thread %d] Set task params\n" threadnum )
( var-cast-to my-utilize-task ( addr enkiTaskSet ) args )
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-utilize-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-utilize-task ) )
;; Discovered amount of work would go here
( set ( field task-params setSize ) 30 )
( set ( field task-params minRange ) 5 )
@ -940,21 +940,21 @@
( var my-discover-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler discover-task ) )
( scope
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-discover-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-discover-task ) )
( set ( field task-params setSize ) 1 )
( set ( field task-params minRange ) 1 )
( enkiSetParamsTaskSet my-discover-task task-params ) )
( var my-utilize-task ( addr enkiTaskSet ) ( enkiCreateTaskSet task-scheduler utilize-task ) )
( scope
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet my-utilize-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet my-utilize-task ) )
( set ( field task-params setSize ) 1 )
( set ( field task-params minRange ) 1 )
( enkiSetParamsTaskSet my-utilize-task task-params ) )
( var completion-action ( addr enkiCompletionAction )
( enkiCreateCompletionAction task-scheduler on-discover-task-complete null ) )
( var completion-args enkiParamsCompletionAction
( var completion-args ( struct enkiParamsCompletionAction )
( enkiGetParamsCompletionAction completion-action ) )
( set ( field completion-args pDependency ) ( enkiGetCompletableFromTaskSet my-discover-task ) )
( set ( field completion-args pArgsPreComplete ) my-utilize-task )
@ -983,7 +983,7 @@
( def-task on-discover-task-complete-sys ( utilize-task ( addr enkiTaskSet ) )
( fprintf stderr "[thread %d] Set task params\n" task-thread-id )
( var-cast-to my-utilize-task ( addr enkiTaskSet ) args )
( var task-params enkiParamsTaskSet ( enkiGetParamsTaskSet utilize-task ) )
( var task-params ( struct enkiParamsTaskSet ) ( enkiGetParamsTaskSet utilize-task ) )
;; Discovered amount of work would go here
( set ( field task-params setSize ) 30 )
( set ( field task-params minRange ) 5 )