|
XenevaOS
|
#include <i915_drm.h>
Public Attributes | |
| __u32 | handle |
| __u32 | read_domains |
| __u32 | write_domain |
struct drm_i915_gem_set_domain - Adjust the objects write or read domain, in preparation for accessing the pages via some CPU domain.
Specifying a new write or read domain will flush the object out of the previous domain(if required), before then updating the objects domain tracking with the new domain.
Note this might involve waiting for the object first if it is still active on the GPU.
Supported values for @read_domains and @write_domain:
All other domains are rejected.
Note that for discrete, starting from DG1, this is no longer supported, and is instead rejected. On such platforms the CPU domain is effectively static, where we also only support a single &drm_i915_gem_mmap_offset cache mode, which can't be set explicitly and instead depends on the object placements, as per the below.
Implicit caching rules, starting from DG1:
Note that this is likely to change in the future again, where we might need more flexibility on future devices, so making this all explicit as part of a new &drm_i915_gem_create_ext extension is probable.
| __u32 drm_i915_gem_set_domain::handle |
@handle: Handle for the object.
| __u32 drm_i915_gem_set_domain::read_domains |
@read_domains: New read domains.
| __u32 drm_i915_gem_set_domain::write_domain |
@write_domain: New write domain.
Note that having something in the write domain implies it's in the read domain, and only that read domain.