Lines Matching defs:engine
158 * enum drm_i915_gem_engine_class - uapi engine type enumeration
161 * engine serving each role. This enum provides a classification of the role
162 * of the engine, which may be used when requesting operations to be performed
220 * Placeholder value to represent an invalid engine class assignment.
228 * There may be more than one engine fulfilling any role within the system.
229 * Each engine of a class is given a unique instance number and therefore
230 * any engine can be specified by its class:instance tuplet. APIs that allow
231 * access to any engine in the system will use struct i915_engine_class_instance
695 * As not every engine across every gen support contexts, the returned
697 * returning a bitmask of each engine class set to true if that class supports
1111 /** Sampler cache, used by texture engine */
1543 * Furthermore, if the object is busy, which engine is busy is only
1545 * (there may be more than one engine in each class). There are race
1552 * the engine classess on which the object is being read, and the
1553 * engine class on which it is currently being written (if any).
1556 * to by any engine (there can only be one, as the GEM implicit
1558 * engine class (offset by 1, I915_ENGINE_CLASS_RENDER is reported as
1565 * The value of each engine class is the same as specified in the
1991 * an index into this array of engines; I915_EXEC_DEFAULT selecting engine[0]
1997 * virtual engine used for load balancing.
2093 * @struct drm_i915_gem_context_param_sseu for every supported engine which
2110 struct i915_engine_class_instance engine;
2147 * Virtual engine is a concept where userspace is able to configure a set of
2149 * engine from the set as it sees fit.
2152 * class engine, like for example GT3+ Skylake parts with their two VCS engines.
2156 * create a GEM context with a placeholder slot for the virtual engine (using
2159 * `I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE` extension place a virtual engine in
2162 * Example of creating a virtual engine and submitting a batch buffer to it:
2168 * .engine_index = 0, // Place this virtual engine into engine map slot 0
2195 * // Now we have created a GEM context with its engine map containing a
2196 * // single virtual engine. Submissions to this slot can go either to
2203 * execbuf.flags = 0; // Submits to index 0 which is the virtual engine
2212 * Into the I915_EXEC_DEFAULT slot [0], a virtual engine is created that when
2219 * To intermix rendering with the virtual engine and direct rendering onto
2247 * Constructed bonded pairs for execution within a virtual engine.
2252 * specific engine. We enable this selection of engines within a virtual
2253 * engine by specifying bonding pairs, for any given master engine we will
2254 * only execute on one of the corresponding siblings within the virtual engine.
2256 * To execute a request in parallel on the master engine and a sibling requires
2264 __u16 virtual_index; /* index of virtual engine in ctx->engines[] */
2284 * struct i915_context_engines_parallel_submit - Configure engine for
2287 * Setup a slot in the context engine map to allow multiple BBs to be submitted
2297 * context if each context maps to more than 1 physical engine (e.g. context is
2298 * a virtual engine). Also we only allow contexts of same engine class and these
2314 * CS[X] = generic engine of same class, logical instance X
2360 * @engine_index: slot for parallel engine
2365 * @width: number of contexts per parallel engine or in other words the
2392 * @engines: 2-d array of engine instances to configure parallel engine
2415 * Context engine map is a new way of addressing engines when submitting batch-
2547 * Render engine timestamp - 0x2358 + 64bit - gen7+
2950 * a struct i915_engine_class_instance that references a render engine.
3122 * way of using `DRM_IOCTL_I915_GETPARAM` and engine identifiers like
3165 * // We can now access each engine in the array
3168 * u16 class = einfo.engine.class;
3169 * u16 instance = einfo.engine.instance;
3184 * engine maps configured.
3190 * Describes one engine and it's capabilities as known to the driver.
3193 /** @engine: Engine class and instance. */
3194 struct i915_engine_class_instance engine;
3203 /** @capabilities: Capabilities of this engine. */
3208 /** @logical_instance: Logical instance of engine */