1
0
mirror of https://github.com/fumiama/gozel.git synced 2026-06-05 00:10:24 +08:00
Files
gozel/ze/image.go
fumiama 6522bde914 feat(examples): add image_scale (#7)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-29 17:11:22 +08:00

31 lines
938 B
Go

package ze
import "github.com/fumiama/gozel/gozel"
// ImageHandle (ze_image_handle_t) Handle of driver's image object.
type ImageHandle gozel.ZeImageHandle
// ImageCreate Creates a 2D image on the context.
// flags: 0 for read-only (kernel input), ZE_IMAGE_FLAG_KERNEL_WRITE for writable (kernel output).
func (h ContextHandle) ImageCreate(
hDevice DeviceHandle, flags gozel.ZeImageFlags, format gozel.ZeImageFormat,
width uint64, height uint32,
) (ih ImageHandle, err error) {
_, err = gozel.ZeImageCreate(gozel.ZeContextHandle(h), gozel.ZeDeviceHandle(hDevice),
&gozel.ZeImageDesc{
Stype: gozel.ZE_STRUCTURE_TYPE_IMAGE_DESC,
Flags: flags,
Type: gozel.ZE_IMAGE_TYPE_2D,
Format: format,
Width: width,
Height: height,
}, (*gozel.ZeImageHandle)(&ih))
return
}
// Destroy Deletes an image object.
func (h ImageHandle) Destroy() error {
_, err := gozel.ZeImageDestroy(gozel.ZeImageHandle(h))
return err
}