XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_xe_gem_create Struct Reference

#include <xe_drm.h>

Public Attributes

__u64 extensions
 
__u64 size
 
__u32 placement
 
__u32 flags
 
__u32 vm_id
 
__u32 handle
 
__u16 cpu_caching
 
__u16 pad [3]
 
__u64 reserved [2]
 

Detailed Description

struct drm_xe_gem_create - Input of &DRM_IOCTL_XE_GEM_CREATE - A structure for gem creation

The @flags can be:

@cpu_caching supports the following values:

This ioctl supports setting the following properties via the DRM_XE_GEM_CREATE_EXTENSION_SET_PROPERTY extension, which uses the generic &struct drm_xe_ext_set_property:

Member Data Documentation

◆ cpu_caching

__u16 drm_xe_gem_create::cpu_caching

@cpu_caching: The CPU caching mode to select for this object. If mmapping the object the mode selected here will also be used. The exception is when mapping system memory (including data evicted to system) on discrete GPUs. The caching mode selected will then be overridden to DRM_XE_GEM_CPU_CACHING_WB, and coherency between GPU- and CPU is guaranteed. The caching mode of existing CPU-mappings will be updated transparently to user-space clients.

◆ extensions

__u64 drm_xe_gem_create::extensions

@extensions: Pointer to the first extension struct, if any

◆ flags

__u32 drm_xe_gem_create::flags

@flags: Flags for the GEM object, see DRM_XE_GEM_CREATE_FLAG_*

◆ handle

__u32 drm_xe_gem_create::handle

@handle: Returned handle for the object.

Object handles are nonzero.

◆ pad

__u16 drm_xe_gem_create::pad[3]

@pad: MBZ

◆ placement

__u32 drm_xe_gem_create::placement

@placement: A mask of memory instances of where BO can be placed. Each index in this mask refers directly to the struct drm_xe_query_mem_regions' instance, no assumptions should be made about order. The type of each region is described by struct drm_xe_query_mem_regions' mem_class.

◆ reserved

__u64 drm_xe_gem_create::reserved[2]

@reserved: Reserved

◆ size

__u64 drm_xe_gem_create::size

@size: Size of the object to be created, must match region (system or vram) minimum alignment (&min_page_size).

◆ vm_id

__u32 drm_xe_gem_create::vm_id

@vm_id: Attached VM, if any

If a VM is specified, this BO must:

  1. Only ever be bound to that VM.
  2. Cannot be exported as a PRIME fd.

The documentation for this struct was generated from the following file: