14#define ASYNC_MAX_PATH 256
179#define APP_ASYNC_LOADER_DESCRIPTOR \
180 {"async_loader", async_loader_subsys_init, async_loader_subsys_cleanup}
Subsystem descriptor pattern for structured init/cleanup.
AssetType
Definition asset_manager.h:17
bool async_loader_request(AsyncLoader *loader, const AssetHandle *asset)
Request a new asset to be loaded asynchronously.
Definition async_loader.c:342
void async_loader_subsys_cleanup(struct App *app)
Definition async_loader.c:475
int async_loader_subsys_init(struct App *app)
Definition async_loader.c:469
AsyncState
Definition async_loader.h:16
@ ASYNC_READY
Definition async_loader.h:23
@ ASYNC_PENDING
Definition async_loader.h:18
@ ASYNC_CONVERTING
Definition async_loader.h:22
@ ASYNC_IDLE
Definition async_loader.h:17
@ ASYNC_FAILED
Definition async_loader.h:25
@ ASYNC_WAITING_FOR_PBO
Definition async_loader.h:21
@ ASYNC_LOADING
Definition async_loader.h:20
void async_loader_provide_pbo(AsyncLoader *loader, void *mapped_ptr, GLuint pbo_id)
Provide the mapped memory address and GL buffer ID for PBO writing.
Definition async_loader.c:420
bool async_loader_poll(AsyncLoader *loader, AsyncRequest *out_req)
Poll the status of the current request.
Definition async_loader.c:381
void async_loader_cancel(AsyncLoader *loader)
Cancel a loading request waiting for PBO input.
Definition async_loader.c:443
void async_loader_destroy(AsyncLoader *loader)
Tear down the asynchronous loader subsystem.
Definition async_loader.c:309
AsyncLoader * async_loader_create(struct TracyManager *mgr)
Initialize the asynchronous loader subsystem.
Definition async_loader.c:262
#define ASYNC_MAX_PATH
Definition async_loader.h:14
Common OpenGL definitions, RAII helpers, and utilities.
The central state container for the entire application.
Definition app.h:24
Definition asset_manager.h:32
Definition async_loader.c:14
Données de la requête asynchrone transférées entre les threads.
Definition async_loader.h:33
int channels
Definition async_loader.h:47
uint32_t gl_internal_format
Definition async_loader.h:50
bool is_compressed
Definition async_loader.h:49
void * pbo_mapped_ptr
Definition async_loader.h:39
size_t required_pbo_size
Definition async_loader.h:42
uint32_t gl_format
Definition async_loader.h:51
char path[256]
Definition async_loader.h:34
uint32_t gl_type
Definition async_loader.h:52
double submission_time
Definition async_loader.h:54
volatile AsyncState state
Definition async_loader.h:55
void * backend_data
Definition async_loader.h:37
int width
Definition async_loader.h:45
AssetType resource_type
Definition async_loader.h:35
int height
Definition async_loader.h:46
GLuint pbo_id
Definition async_loader.h:41
Handles Tracy-specific instrumentation and asynchronous GPU screenshots.
Definition tracy_manager.h:19