2026'dan itibaren, kararlı ana geliştirme modelimizle uyumlu olmak ve ekosistem için platform kararlılığını sağlamak amacıyla kaynak kodunu 2. ve 4. çeyreklerde AOSP'de yayınlayacağız. AOSP'yi oluşturmak ve AOSP'ye katkıda bulunmak için aosp-main yerine android-latest-release kullanmanızı öneririz. android-latest-release manifest dalı her zaman AOSP'ye gönderilen en son sürümü referans alır. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleye bakın.
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
gralloc_module_t Yapı Referansı
#include <
gralloc.h
>
|
|
|
struct
hw_module_t
|
yaygın
|
|
|
|
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]
|
|
|
Her donanım modülünde HAL_MODULE_INFO_SYM adlı bir veri yapısı olmalıdır ve bu veri yapısının alanları,
hw_module_t
ile başlamalı ve ardından modüle özgü bilgiler gelmelidir.
gralloc.h
dosyasının
155
satırında tanımı vardır.
|
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)
|
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
-
hardware/libhardware/include/hardware/
gralloc.h
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[],[]]