summaryrefslogtreecommitdiff
path: root/src/logos/tasks.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/logos/tasks.h')
-rw-r--r--src/logos/tasks.h74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/logos/tasks.h b/src/logos/tasks.h
deleted file mode 100644
index 2e3dc53..0000000
--- a/src/logos/tasks.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Common jobs that get run
- */
-#pragma once
-#include "defines.h"
-#include "logos/threadpool.h"
-#include "render_types.h"
-#include "str.h"
-
-typedef enum TaskLifetime {
- /** ephemeral tasks must be finished by the end of the frame and thus we use a leak and clear
- allocation strategy */
- TASK_EPHEMERAL,
- /** multi-frame tasks have a more complex lifetime and must be cleaned up by the caller or in a
- separate cleanup callback */
- TASK_MULTIFRAME,
- TASK_COUNT
-} TaskLifetime;
-
-typedef enum TaskKind {
- TASK_RENDER,
- TASK_PHYSICS,
- TASK_GAMEPLAY,
- TASK_ASSET,
- TASK_USERLAND,
- TASKKIND_COUNT
-} TaskKind;
-
-typedef struct Task {
- char* debug_name;
- void* params;
- bool is_done;
-} Task;
-
-// Macro : give Params and Result structs and it creates a function that knows
-// correct sizes
-
-typedef struct Task_ModelLoad_Params {
- Str8 filepath; // filepath to the model on disk
-} Task_ModelLoad_Params;
-typedef struct Task_ModelLoad_Result {
- Model model;
-} Task_ModelLoad_Result;
-
-// Internally it will allocate data for each
-
-static bool Task_ModelLoad_Typed(Task_ModelLoad_Params* params, Task_ModelLoad_Result* result,
- tpool_task_start run_task, tpool_task_on_complete on_success,
- tpool_task_on_complete on_failure) {
- threadpool_add_task(pool, , tpool_task_on_complete on_success, tpool_task_on_complete on_fail,
- bool buffer_result_for_main_thread, void* param_data, u32 param_data_size,
- u32 result_data_size)
-}
-
-// do task
-// success
-void model_load_success(task_globals* globals, void* result) {
- Task_ModelLoad_Result* load_res = result;
-
- // push into render -> renderables ?
-}
-// fail
-
-// we can define our custom task here that wraps the more verbose function pointers
-static Task Task_ModelLoad(Task_ModelLoad_Params* params, Task_ModelLoad_Result* result) {
- Task task;
- task.debug_name = "Load Model";
- task.params = params;
-
- Task_ModelLoad_Typed(params, result, tpool_task_start run_task, tpool_task_on_complete on_success,
- tpool_task_on_complete on_failure)
-
- return task;
-}