Get a table of your driver's video memory management functions
int devg_get_memfuncs (disp_adapter_t *ctx, disp_memfuncs_t *funcs, int tabsize);
A driver must provide an entry point called devg_get_memfuncs(). The graphics framework calls it to get a table of your driver's video memory management functions.
The arguments are:
Use the DISP_ADD_FUNC() macro to add function pointers to the table. It checks the tabsize argument and adds a function pointer only if there's space for it in the table.
The video driver is responsible for keeping track of the allocation of video memory. The framework requests the allocation of 2D surfaces, and asks the driver to free them when they're no longer in use. The onus is on the framework to free all surfaces; that is, for each surface that's allocated, the framework explicitly asks the driver to free the surface at some point before the driver is unloaded.
In general, you don't need to deal with all the complexities of writing a memory manager. Library routines in the DISPUTIL library can perform the bulk of the work. For more information, see the Libraries chapter.
Neutrino
Safety: | |
---|---|
Interrupt handler | Not applicable |
Signal handler | Not applicable |
Thread | Not applicable |
disp_adapter_t, DISP_ADD_FUNC(), disp_memfuncs_t