Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Informacje o strukturze gralloc_module_t
#include < gralloc.h >
|
struct hw_module_t | wspólne |
|
int(* | registerBuffer )(struct gralloc_module_t const *module, buffer_handle_t handle) |
|
int(* | unregisterBuffer )(struct gralloc_module_t const *module, buffer_handle_t handle) |
|
int(* | lock )(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr) |
|
int(* | unlock )(struct gralloc_module_t const *module, buffer_handle_t handle) |
|
int(* | perform )(struct gralloc_module_t const *module, int operation,...) |
|
int(* | lock_ycbcr )(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr) |
|
int(* | lockAsync )(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr, int fenceFd) |
|
int(* | unlockAsync )(struct gralloc_module_t const *module, buffer_handle_t handle, int *fenceFd) |
|
int(* | lockAsync_ycbcr )(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr, int fenceFd) |
|
void * | reserved_proc [3] |
|
Każdy moduł sprzętowy musi mieć strukturę danych o nazwie HAL_MODULE_INFO_SYM, a pola tej struktury danych muszą zaczynać się od hw_module_t po czym następuje informacja o danym module.
Definicja w wierszu 155 pliku gralloc.h .
int(* lock)(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr) |
int(* lock_ycbcr)(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr) |
int(* lockAsync)(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, void **vaddr, int fenceFd) |
int(* lockAsync_ycbcr)(struct gralloc_module_t const *module, buffer_handle_t handle, int usage, int l, int t, int w, int h, struct android_ycbcr *ycbcr, int fenceFd) |
int(* registerBuffer)(struct gralloc_module_t const *module, buffer_handle_t handle) |
int(* unlockAsync)(struct gralloc_module_t const *module, buffer_handle_t handle, int *fenceFd) |
int(* unregisterBuffer)(struct gralloc_module_t const *module, buffer_handle_t handle) |
Dokumentacja tego typu danych została wygenerowana z tego pliku:
- hardware/libhardware/include/hardware/ gralloc.h
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-03-26 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-03-26 UTC."],[],[]]