hardwarebuffer

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Raw CGo bindings for Android hardware buffer

Index

Constants

View Source
const (
	AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM     = 1
	AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM     = 2
	AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM       = 3
	AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM       = 4
	AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT = 22
	AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM  = 43
	AHARDWAREBUFFER_FORMAT_BLOB               = 33
	AHARDWAREBUFFER_FORMAT_D16_UNORM          = 48
	AHARDWAREBUFFER_FORMAT_D24_UNORM          = 49
	AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT  = 50
	AHARDWAREBUFFER_FORMAT_D32_FLOAT          = 51
	AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT  = 52
	AHARDWAREBUFFER_FORMAT_S8_UINT            = 53
	AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420       = 35
	AHARDWAREBUFFER_FORMAT_YCbCr_P010         = 54
	AHARDWAREBUFFER_FORMAT_YCbCr_P210         = 60
	AHARDWAREBUFFER_FORMAT_R8_UNORM           = 56
	AHARDWAREBUFFER_FORMAT_R16_UINT           = 57
	AHARDWAREBUFFER_FORMAT_R16G16_UINT        = 58
	AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM = 59
)
View Source
const (
	AHARDWAREBUFFER_USAGE_CPU_READ_NEVER      = 0
	AHARDWAREBUFFER_USAGE_CPU_READ_RARELY     = 2
	AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN      = 3
	AHARDWAREBUFFER_USAGE_CPU_READ_MASK       = 15
	AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER     = 0
	AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY    = 32
	AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN     = 48
	AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK      = 240
	AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE   = 256
	AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER     = 512
	AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT    = 512
	AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY    = 2048
	AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT   = 16384
	AHARDWAREBUFFER_USAGE_VIDEO_ENCODE        = 65536
	AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA  = 8388608
	AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER     = 16777216
	AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP        = 33554432
	AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE = 67108864
	AHARDWAREBUFFER_USAGE_FRONT_BUFFER        = 4294967296
	AHARDWAREBUFFER_USAGE_VENDOR_0            = 268435456
	AHARDWAREBUFFER_USAGE_VENDOR_1            = 536870912
	AHARDWAREBUFFER_USAGE_VENDOR_2            = 1073741824
	AHARDWAREBUFFER_USAGE_VENDOR_3            = -2147483648
	AHARDWAREBUFFER_USAGE_VENDOR_4            = 281474976710656
	AHARDWAREBUFFER_USAGE_VENDOR_5            = 562949953421312
	AHARDWAREBUFFER_USAGE_VENDOR_6            = 1125899906842624
	AHARDWAREBUFFER_USAGE_VENDOR_7            = 2251799813685248
	AHARDWAREBUFFER_USAGE_VENDOR_8            = 4503599627370496
	AHARDWAREBUFFER_USAGE_VENDOR_9            = 9007199254740992
	AHARDWAREBUFFER_USAGE_VENDOR_10           = 18014398509481984
	AHARDWAREBUFFER_USAGE_VENDOR_11           = 36028797018963968
	AHARDWAREBUFFER_USAGE_VENDOR_12           = 72057594037927936
	AHARDWAREBUFFER_USAGE_VENDOR_13           = 144115188075855872
	AHARDWAREBUFFER_USAGE_VENDOR_14           = 288230376151711744
	AHARDWAREBUFFER_USAGE_VENDOR_15           = 576460752303423488
	AHARDWAREBUFFER_USAGE_VENDOR_16           = 1152921504606846976
	AHARDWAREBUFFER_USAGE_VENDOR_17           = 2305843009213693952
	AHARDWAREBUFFER_USAGE_VENDOR_18           = 4611686018427387904
	AHARDWAREBUFFER_USAGE_VENDOR_19           = -9223372036854775808
)

Variables

This section is empty.

Functions

func AHardwareBuffer_acquire

func AHardwareBuffer_acquire(buffer *AHardwareBuffer)

func AHardwareBuffer_allocate

func AHardwareBuffer_allocate(desc *AHardwareBuffer_Desc, outBuffer **AHardwareBuffer) int32

func AHardwareBuffer_describe

func AHardwareBuffer_describe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc)

func AHardwareBuffer_getId

func AHardwareBuffer_getId(buffer *AHardwareBuffer, outId *uint64) int32

func AHardwareBuffer_isSupported

func AHardwareBuffer_isSupported(desc *AHardwareBuffer_Desc) int32

func AHardwareBuffer_lock

func AHardwareBuffer_lock(buffer *AHardwareBuffer, usage uint64, fence int32, rect *ARect, outVirtualAddress *unsafe.Pointer) int32

func AHardwareBuffer_lockAndGetInfo

func AHardwareBuffer_lockAndGetInfo(buffer *AHardwareBuffer, usage uint64, fence int32, rect *ARect, outVirtualAddress *unsafe.Pointer, outBytesPerPixel *int32, outBytesPerStride *int32) int32

func AHardwareBuffer_lockPlanes

func AHardwareBuffer_lockPlanes(buffer *AHardwareBuffer, usage uint64, fence int32, rect *ARect, outPlanes *AHardwareBuffer_Planes) int32

func AHardwareBuffer_recvHandleFromUnixSocket

func AHardwareBuffer_recvHandleFromUnixSocket(socketFd int32, outBuffer **AHardwareBuffer) int32

func AHardwareBuffer_release

func AHardwareBuffer_release(buffer *AHardwareBuffer)

func AHardwareBuffer_sendHandleToUnixSocket

func AHardwareBuffer_sendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd int32) int32

func AHardwareBuffer_unlock

func AHardwareBuffer_unlock(buffer *AHardwareBuffer, fence *int32) int32

Types

type AHardwareBuffer

type AHardwareBuffer C.AHardwareBuffer

type AHardwareBuffer_Desc

type AHardwareBuffer_Desc C.AHardwareBuffer_Desc

type AHardwareBuffer_Plane

type AHardwareBuffer_Plane C.AHardwareBuffer_Plane

type AHardwareBuffer_Planes

type AHardwareBuffer_Planes C.AHardwareBuffer_Planes

type ARect

type ARect C.ARect

type CgoAllocMap

type CgoAllocMap struct {
	// contains filtered or unexported fields
}

CgoAllocMap stores pointers to C allocated memory for future reference.

func (*CgoAllocMap) Add

func (a *CgoAllocMap) Add(ptr unsafe.Pointer)

func (*CgoAllocMap) Borrow

func (a *CgoAllocMap) Borrow(b *CgoAllocMap)

func (*CgoAllocMap) Free

func (a *CgoAllocMap) Free()

func (*CgoAllocMap) IsEmpty

func (a *CgoAllocMap) IsEmpty() bool

type SliceHeader

type SliceHeader struct {
	Data unsafe.Pointer
	Len  int
	Cap  int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL