diff --git a/src/intel/common/intel_gem.c b/src/intel/common/intel_gem.c index 267d0657315..9c9da5ab0cb 100644 --- a/src/intel/common/intel_gem.c +++ b/src/intel/common/intel_gem.c @@ -89,11 +89,14 @@ intel_gem_create_context_engines(int fd, */ int last_engine_idx[] = { [I915_ENGINE_CLASS_RENDER] = -1, + [I915_ENGINE_CLASS_COPY] = -1, }; int i915_engine_counts[] = { [I915_ENGINE_CLASS_RENDER] = intel_gem_count_engines(info, I915_ENGINE_CLASS_RENDER), + [I915_ENGINE_CLASS_COPY] = + intel_gem_count_engines(info, I915_ENGINE_CLASS_COPY), }; /* For each queue, we look for the next instance that matches the class we @@ -101,7 +104,8 @@ intel_gem_create_context_engines(int fd, */ for (int i = 0; i < num_engines; i++) { uint16_t engine_class = engine_classes[i]; - assert(engine_class == I915_ENGINE_CLASS_RENDER); + assert(engine_class == I915_ENGINE_CLASS_RENDER || + engine_class == I915_ENGINE_CLASS_COPY); if (i915_engine_counts[engine_class] <= 0) { free(engines_param); return -1;