intel: Add intel_gem_count_engines
authorJordan Justen <jordan.l.justen@intel.com>
Tue, 31 Aug 2021 09:22:44 +0000 (02:22 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Fri, 3 Dec 2021 00:30:31 +0000 (16:30 -0800)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12692>

src/intel/common/intel_gem.c
src/intel/common/intel_gem.h
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_gem.c
src/intel/vulkan/anv_gem_stubs.c
src/intel/vulkan/anv_private.h

index f06635d..8634486 100644 (file)
@@ -55,3 +55,16 @@ intel_gem_supports_syncobj_wait(int fd)
     */
    return ret == -1 && errno == ETIME;
 }
+
+int
+intel_gem_count_engines(const struct drm_i915_query_engine_info *info,
+                        enum drm_i915_gem_engine_class engine_class)
+{
+   assert(info != NULL);
+   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 3ac3d7b..31380b7 100644 (file)
@@ -146,4 +146,7 @@ intel_i915_query_alloc(int fd, uint64_t query_id)
 
 bool intel_gem_supports_syncobj_wait(int fd);
 
+int intel_gem_count_engines(const struct drm_i915_query_engine_info *info,
+                            enum drm_i915_gem_engine_class engine_class);
+
 #endif /* INTEL_GEM_H */
index c7d28f3..d6fc026 100644 (file)
@@ -697,7 +697,8 @@ anv_physical_device_init_queue_families(struct anv_physical_device *pdevice)
 
    if (pdevice->engine_info) {
       int gc_count =
-         anv_gem_count_engines(pdevice->engine_info, I915_ENGINE_CLASS_RENDER);
+         intel_gem_count_engines(pdevice->engine_info,
+                                 I915_ENGINE_CLASS_RENDER);
       int g_count = 0;
       int c_count = 0;
 
index 036f4af..cabce04 100644 (file)
@@ -360,7 +360,7 @@ anv_gem_create_context_engines(struct anv_device *device,
 
    int i915_engine_counts[] = {
       [I915_ENGINE_CLASS_RENDER] =
-         anv_gem_count_engines(info, I915_ENGINE_CLASS_RENDER),
+         intel_gem_count_engines(info, I915_ENGINE_CLASS_RENDER),
    };
 
    /* For each queue, we look for the next instance that matches the class we
@@ -526,15 +526,3 @@ anv_gem_get_engine_info(int fd)
 {
    return intel_i915_query_alloc(fd, DRM_I915_QUERY_ENGINE_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 a62a167..7f4a796 100644 (file)
@@ -209,13 +209,6 @@ 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_reg_read(int fd, uint32_t offset, uint64_t *result)
 {
    unreachable("Unused");
index 16b24b2..4581322 100644 (file)
@@ -1388,8 +1388,6 @@ int anv_gem_set_domain(struct anv_device *device, uint32_t gem_handle,
 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,