mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-25 13:05:00 -07:00
provide u64 broadcasting mechanism in base layer wavefront lane context, allows more flexible data sharing mechanism which does not depend on statics; reshape dasm building codepath for clicking into artifact cache
This commit is contained in:
@@ -1969,19 +1969,19 @@ struct TXT_ArtifactCreateShared
|
||||
};
|
||||
|
||||
internal void *
|
||||
txt_artifact_create(String8 key)
|
||||
txt_artifact_create(String8 key, B32 *retry_out)
|
||||
{
|
||||
ProfBeginFunction();
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
Access *access = access_open();
|
||||
|
||||
//- rjf: get shared state
|
||||
local_persist TXT_ArtifactCreateShared *shared = 0;
|
||||
TXT_ArtifactCreateShared *shared = 0;
|
||||
if(lane_idx() == 0)
|
||||
{
|
||||
shared = push_array(scratch.arena, TXT_ArtifactCreateShared, 1);
|
||||
}
|
||||
lane_sync();
|
||||
lane_sync_u64(&shared, 0);
|
||||
|
||||
//- rjf: unpack key
|
||||
U128 hash = {0};
|
||||
|
||||
@@ -203,7 +203,7 @@ internal TXT_ScopeNode *txt_scope_node_from_info_pt(TXT_TextInfo *info, TxtPt pt
|
||||
////////////////////////////////
|
||||
//~ rjf: Artifact Cache Hooks / Lookups
|
||||
|
||||
internal void *txt_artifact_create(String8 key);
|
||||
internal void *txt_artifact_create(String8 key, B32 *retry_out);
|
||||
internal void txt_artifact_destroy(void *ptr);
|
||||
internal TXT_TextInfo txt_text_info_from_hash_lang(Access *access, U128 hash, TXT_LangKind lang);
|
||||
internal TXT_TextInfo txt_text_info_from_key_lang(Access *access, C_Key key, TXT_LangKind lang, U128 *hash_out);
|
||||
|
||||
Reference in New Issue
Block a user