intel/gem: Add support for I915_ENGINE_CLASS_COMPUTE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14395>
This commit is contained in:
Jordan Justen 2018-08-14 02:34:16 -07:00 committed by Marge Bot
parent 2d0edbbd37
commit 60e29fc7c5

View file

@ -90,6 +90,7 @@ intel_gem_create_context_engines(int fd,
int last_engine_idx[] = {
[I915_ENGINE_CLASS_RENDER] = -1,
[I915_ENGINE_CLASS_COPY] = -1,
[I915_ENGINE_CLASS_COMPUTE] = -1,
};
int i915_engine_counts[] = {
@ -97,6 +98,8 @@ intel_gem_create_context_engines(int fd,
intel_gem_count_engines(info, I915_ENGINE_CLASS_RENDER),
[I915_ENGINE_CLASS_COPY] =
intel_gem_count_engines(info, I915_ENGINE_CLASS_COPY),
[I915_ENGINE_CLASS_COMPUTE] =
intel_gem_count_engines(info, I915_ENGINE_CLASS_COMPUTE),
};
/* For each queue, we look for the next instance that matches the class we
@ -105,7 +108,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 ||
engine_class == I915_ENGINE_CLASS_COPY);
engine_class == I915_ENGINE_CLASS_COPY ||
engine_class == I915_ENGINE_CLASS_COMPUTE);
if (i915_engine_counts[engine_class] <= 0) {
free(engines_param);
return -1;