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

#include <i915_drm.h>

Public Attributes

__u32 target_handle
 
__u32 delta
 
__u64 offset
 
__u64 presumed_offset
 
__u32 read_domains
 
__u32 write_domain
 

Member Data Documentation

◆ delta

__u32 drm_i915_gem_relocation_entry::delta

Value to be added to the offset of the target buffer to make up the relocation entry.

◆ offset

__u64 drm_i915_gem_relocation_entry::offset

Offset in the buffer the relocation entry will be written into

◆ presumed_offset

__u64 drm_i915_gem_relocation_entry::presumed_offset

Offset value of the target buffer that the relocation entry was last written as.

If the buffer has the same offset as last time, we can skip syncing and writing the relocation. This value is written back out by the execbuffer ioctl when the relocation is written.

◆ read_domains

__u32 drm_i915_gem_relocation_entry::read_domains

Target memory domains read by this operation.

◆ target_handle

__u32 drm_i915_gem_relocation_entry::target_handle

Handle of the buffer being pointed to by this relocation entry.

It's appealing to make this be an index into the mm_validate_entry list to refer to the buffer, but this allows the driver to create a relocation list for state buffers and not re-write it per exec using the buffer.

◆ write_domain

__u32 drm_i915_gem_relocation_entry::write_domain

Target memory domains written by this operation.

Note that only one domain may be written by the whole execbuffer operation, so that where there are conflicts, the application will get -EINVAL back.


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