pvr_gem_object_create(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… pvr_gem_object_create(9) β€” PowerVR buffer object creation, but make it make sense πŸ’…

okay so welcome to the pvr_gem_object_create(9) page in the Kernel API Manual β€” yes bestie, we're creating a PowerVR-specific buffer object and we're gonna be normal about it (lie). This is the function that gets a new buffer object born into the world, and the vibes are immaculate.


✨ NAME ✨

pvr_gem_object_create β€” Creates a PowerVR-specific buffer object. That's it, that's the main character energy.

🫢 SYNOPSIS 🫢

struct pvr_gem_object * pvr_gem_object_create (struct pvr_device
       *pvr_dev , size_t size , u64 flags );

No cap, that's the whole call. Let's meet the arguments.

πŸŽ€ ARGUMENTS πŸŽ€

  • pvr_dev β€” Target PowerVR device. This is the device you're doing the whole operation for.
  • size β€” Size of the object to allocate in bytes. Must be greater than zero. Any value which is not an exact multiple of the system page size will be rounded up to satisfy this condition. So yeah, page-size rounding is part of the deal, not a bug.
  • flags β€” Options which affect both this operation and future mapping operations performed on the returned object. Must be a combination of DRM_PVR_BO_* and/or PVR_BO_* flags.

πŸ¦‹ DESCRIPTION πŸ¦‹

The created object may be larger than size, but can never be smaller. To get the exact size, call pvr_gem_object_size on the returned pointer. That's the lowkey important part β€” don't assume size is the final size, bestie.

🌸 RETURN 🌸

  • The newly-minted PowerVR-specific buffer object on success,
  • -EINVAL if size is zero or flags is not valid,
  • -ENOMEM if sufficient physical memory cannot be allocated, or
  • Any other error returned by drm_gem_create_mmap_offset.

πŸ‘‘ SEE ALSO πŸ‘‘

okay bye bestie πŸ’– β€” source/version: ./drivers/gpu/drm/imagination Β· date: October 2026 Β· page: pvr_gem_object_create(9) ✨

πŸ“¦ where this page comes from