separate per-name-map baking stages from each other, and from top-level name map section build; do them all independently

This commit is contained in:
Ryan Fleury
2024-02-22 14:45:09 -08:00
parent 50f7d53db2
commit 0e352f92df
6 changed files with 171 additions and 112 deletions
+9
View File
@@ -8,6 +8,15 @@ ts_ticket_zero(void)
return ticket;
}
internal void
ts_ticket_list_push(Arena *arena, TS_TicketList *list, TS_Ticket ticket)
{
TS_TicketNode *n = push_array(arena, TS_TicketNode, 1);
n->v = ticket;
SLLQueuePush(list->first, list->last, n);
list->count += 1;
}
////////////////////////////////
//~ rjf: Top-Level Layer Initialization
+16
View File
@@ -16,6 +16,21 @@ struct TS_Ticket
U64 u64[2];
};
typedef struct TS_TicketNode TS_TicketNode;
struct TS_TicketNode
{
TS_TicketNode *next;
TS_Ticket v;
};
typedef struct TS_TicketList TS_TicketList;
struct TS_TicketList
{
TS_TicketNode *first;
TS_TicketNode *last;
U64 count;
};
////////////////////////////////
//~ rjf: Task Request Types
@@ -96,6 +111,7 @@ global TS_Shared *ts_shared = 0;
//~ rjf: Basic Type Functions
internal TS_Ticket ts_ticket_zero(void);
internal void ts_ticket_list_push(Arena *arena, TS_TicketList *list, TS_Ticket ticket);
////////////////////////////////
//~ rjf: Top-Level Layer Initialization