anv: Add anv_gem_count_engines
authorJordan Justen <jordan.l.justen@intel.com>
Sun, 24 Mar 2019 06:50:44 +0000 (23:50 -0700)
committerMarge Bot <eric+marge@anholt.net>
Thu, 28 Jan 2021 18:26:33 +0000 (18:26 +0000)
v2 (Jason Ekstrand):
 - Take a drm_i915_query_engine_info

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667>

src/intel/vulkan/anv_gem.c
src/intel/vulkan/anv_gem_stubs.c
src/intel/vulkan/anv_private.h

index 3d71946..b7b2d14 100644 (file)
@@ -703,3 +703,15 @@ anv_gem_get_engine_info(int fd)
 
    return info;
 }
+
+int
+anv_gem_count_engines(const struct drm_i915_query_engine_info *info,
+                      uint16_t engine_class)
+{
+   int count = 0;
+   for (int i = 0; i < info->num_engines; i++) {
+      if (info->engines[i].engine.engine_class == engine_class)
+         count++;
+   }
+   return count;
+}
index ed576a7..b41e963 100644 (file)
@@ -259,6 +259,13 @@ anv_gem_get_engine_info(int fd)
 }
 
 int
+anv_gem_count_engines(const struct drm_i915_query_engine_info *info,
+                      uint16_t engine_class)
+{
+   unreachable("Unused");
+}
+
+int
 anv_gem_syncobj_wait(struct anv_device *device,
                      const uint32_t *handles, uint32_t num_handles,
                      int64_t abs_timeout_ns, bool wait_all)
index 91de322..3d5020d 100644 (file)
@@ -1664,6 +1664,8 @@ int anv_gem_syncobj_timeline_query(struct anv_device *device,
 int anv_i915_query(int fd, uint64_t query_id, void *buffer,
                    int32_t *buffer_len);
 struct drm_i915_query_engine_info *anv_gem_get_engine_info(int fd);
+int anv_gem_count_engines(const struct drm_i915_query_engine_info *info,
+                          uint16_t engine_class);
 
 uint64_t anv_vma_alloc(struct anv_device *device,
                        uint64_t size, uint64_t align,