File tree Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -436,6 +436,16 @@ ECSACT_DYNAMIC_API_FN(void, ecsact_set_entity_execution_status)
436
436
ecsact_ees execution_status
437
437
);
438
438
439
+ /**
440
+ * Set a _hint_ that the system may process entities in parallel. This is
441
+ * only a _hint_. The runtime implementation may choose to not run in parallel.
442
+ */
443
+ ECSACT_DYNAMIC_API_FN (void , ecsact_set_system_parallel_execution )
444
+ ( //
445
+ ecsact_system_like_id system_like_id ,
446
+ bool parallel_execution
447
+ );
448
+
439
449
// # BEGIN FOR_EACH_ECSACT_DYNAMIC_API_FN
440
450
#ifdef ECSACT_MSVC_TRADITIONAL
441
451
# define FOR_EACH_ECSACT_DYNAMIC_API_FN (fn , ...) \
@@ -484,7 +494,8 @@ ECSACT_DYNAMIC_API_FN(void, ecsact_set_entity_execution_status)
484
494
fn(ecsact_remove_system_generates, __VA_ARGS__); \
485
495
fn(ecsact_system_generates_set_component, __VA_ARGS__); \
486
496
fn(ecsact_system_generates_unset_component, __VA_ARGS__); \
487
- fn(ecsact_set_entity_execution_status, __VA_ARGS__)
497
+ fn(ecsact_set_entity_execution_status, __VA_ARGS__); \
498
+ fn(ecsact_set_system_parallel_execution, __VA_ARGS__)
488
499
#endif
489
500
490
501
#endif // ECSACT_RUNTIME_DYNAMIC_H
Original file line number Diff line number Diff line change @@ -408,6 +408,15 @@ ECSACT_META_API_FN(int32_t, ecsact_meta_get_lazy_iteration_rate)
408
408
ecsact_system_id system_id
409
409
);
410
410
411
+ /**
412
+ * Check if a system/action can run on multiple entities in parallel. This is
413
+ * only a _hint_. The runtime implementation may choose to not run in parallel.
414
+ */
415
+ ECSACT_META_API_FN (bool , ecsact_meta_get_system_parallel_execution )
416
+ ( //
417
+ ecsact_system_like_id system_like_id
418
+ );
419
+
411
420
// # BEGIN FOR_EACH_ECSACT_META_API_FN
412
421
#ifdef ECSACT_MSVC_TRADITIONAL
413
422
# define FOR_EACH_ECSACT_META_API_FN (fn , ...) ECSACT_MSVC_TRADITIONAL_ERROR()
@@ -462,7 +471,8 @@ ECSACT_META_API_FN(int32_t, ecsact_meta_get_lazy_iteration_rate)
462
471
fn(ecsact_meta_get_parent_system_id, __VA_ARGS__); \
463
472
fn(ecsact_meta_count_top_level_systems, __VA_ARGS__); \
464
473
fn(ecsact_meta_get_top_level_systems, __VA_ARGS__); \
465
- fn(ecsact_meta_get_lazy_iteration_rate, __VA_ARGS__)
474
+ fn(ecsact_meta_get_lazy_iteration_rate, __VA_ARGS__); \
475
+ fn(ecsact_meta_get_system_parallel_execution, __VA_ARGS__)
466
476
#endif
467
477
468
478
#endif // ECSACT_RUNTIME_META_H
You can’t perform that action at this time.
0 commit comments