eliminate base node idx from per-node info; nodes can be stored all relative to their name map's base indices, and this is naturally applied on lookup, no need to bake it in

This commit is contained in:
Ryan Fleury
2024-06-07 11:17:11 -07:00
parent b48fcea28a
commit 8f03fb0cc5
4 changed files with 5 additions and 11 deletions
+1 -4
View File
@@ -3812,7 +3812,7 @@ internal TS_TASK_FUNCTION_DEF(p2r_bake_name_map_task__entry_point)
{
P2R_BakeNameMapIn *in = (P2R_BakeNameMapIn *)p;
RDIM_NameMapBakeResult *out = push_array(arena, RDIM_NameMapBakeResult, 1);
ProfScope("bake name map %i", in->kind) *out = rdim_bake_name_map(arena, in->strings, in->idx_runs, in->map, in->base_node_idx);
ProfScope("bake name map %i", in->kind) *out = rdim_bake_name_map(arena, in->strings, in->idx_runs, in->map);
return out;
}
@@ -4195,7 +4195,6 @@ p2r_bake(Arena *arena, P2R_Convert2Bake *in)
TS_Ticket bake_type_nodes_ticket = ts_kickoff(p2r_bake_type_nodes_task__entry_point, 0, &bake_type_nodes_in);
TS_Ticket bake_name_maps_tickets[RDI_NameMapKind_COUNT] = {0};
{
U64 base_node_idx = 0;
for(EachNonZeroEnumVal(RDI_NameMapKind, k))
{
if(name_maps[k] == 0 || name_maps[k]->name_count == 0)
@@ -4206,10 +4205,8 @@ p2r_bake(Arena *arena, P2R_Convert2Bake *in)
in->strings = &bake_strings;
in->idx_runs = idx_runs;
in->map = name_maps[k];
in->base_node_idx = base_node_idx;
in->kind = k;
bake_name_maps_tickets[k] = ts_kickoff(p2r_bake_name_map_task__entry_point, 0, in);
base_node_idx += name_maps[k]->name_count;
}
}
P2R_BakeIdxRunsIn bake_idx_runs_in = {idx_runs};
-1
View File
@@ -502,7 +502,6 @@ struct P2R_BakeNameMapIn
RDIM_BakeStringMapTight *strings;
RDIM_BakeIdxRunMap *idx_runs;
RDIM_BakeNameMap *map;
U64 base_node_idx;
RDI_NameMapKind kind;
};