Mesa (main): crocus: inline the d/s resource handling functions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 5 05:14:01 UTC 2021


Module: Mesa
Branch: main
Commit: 1d438c11c8a7c6d14c202eea175bdd4aa19a4a9e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d438c11c8a7c6d14c202eea175bdd4aa19a4a9e

Author: Dave Airlie <airlied at redhat.com>
Date:   Sat Jul  3 06:36:32 2021 +1000

crocus: inline the d/s resource handling functions

These are pretty simple, so inlining is fine and helps drawoverhead

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11707>

---

 src/gallium/drivers/crocus/crocus_resource.c | 39 ++------------------------
 src/gallium/drivers/crocus/crocus_resource.h | 41 ++++++++++++++++++++++++----
 2 files changed, 37 insertions(+), 43 deletions(-)

diff --git a/src/gallium/drivers/crocus/crocus_resource.c b/src/gallium/drivers/crocus/crocus_resource.c
index d058e0928e4..5510f4f7153 100644
--- a/src/gallium/drivers/crocus/crocus_resource.c
+++ b/src/gallium/drivers/crocus/crocus_resource.c
@@ -289,17 +289,10 @@ crocus_query_dmabuf_modifiers(struct pipe_screen *pscreen,
    *count = supported_mods;
 }
 
-struct pipe_resource *
+static struct pipe_resource *
 crocus_resource_get_separate_stencil(struct pipe_resource *p_res)
 {
-   /* For packed depth-stencil, we treat depth as the primary resource
-    * and store S8 as the "second plane" resource.
-    */
-   if (p_res->next && p_res->next->format == PIPE_FORMAT_S8_UINT)
-      return p_res->next;
-
-   return NULL;
-
+   return _crocus_resource_get_separate_stencil(p_res);
 }
 
 static void
@@ -310,34 +303,6 @@ crocus_resource_set_separate_stencil(struct pipe_resource *p_res,
    pipe_resource_reference(&p_res->next, stencil);
 }
 
-void
-crocus_get_depth_stencil_resources(const struct intel_device_info *devinfo,
-                                   struct pipe_resource *res,
-                                   struct crocus_resource **out_z,
-                                   struct crocus_resource **out_s)
-{
-   if (!res) {
-      *out_z = NULL;
-      *out_s = NULL;
-      return;
-   }
-
-   /* gen4/5 only supports packed ds */
-   if (devinfo->ver < 6) {
-      *out_z = (void *)res;
-      *out_s = (void *)res;
-      return;
-   }
-
-   if (res->format != PIPE_FORMAT_S8_UINT) {
-      *out_z = (void *) res;
-      *out_s = (void *) crocus_resource_get_separate_stencil(res);
-   } else {
-      *out_z = NULL;
-      *out_s = (void *) res;
-   }
-}
-
 void
 crocus_resource_disable_aux(struct crocus_resource *res)
 {
diff --git a/src/gallium/drivers/crocus/crocus_resource.h b/src/gallium/drivers/crocus/crocus_resource.h
index d5df22824f0..b16a7184de0 100644
--- a/src/gallium/drivers/crocus/crocus_resource.h
+++ b/src/gallium/drivers/crocus/crocus_resource.h
@@ -27,7 +27,7 @@
 #include "util/u_inlines.h"
 #include "util/u_range.h"
 #include "intel/isl/isl.h"
-
+#include "intel/dev/intel_device_info.h"
 #include "crocus_bufmgr.h"
 
 struct crocus_batch;
@@ -306,12 +306,41 @@ struct crocus_format_info crocus_format_for_usage(const struct intel_device_info
                                                   enum pipe_format pf,
                                                   isl_surf_usage_flags_t usage);
 
-struct pipe_resource *crocus_resource_get_separate_stencil(struct pipe_resource *);
+static inline struct pipe_resource *
+_crocus_resource_get_separate_stencil(struct pipe_resource *p_res)
+{
+   /* For packed depth-stencil, we treat depth as the primary resource
+    * and store S8 as the "second plane" resource.
+    */
+   if (p_res->next && p_res->next->format == PIPE_FORMAT_S8_UINT)
+      return p_res->next;
+
+   return NULL;
+
+}
+static inline void
+crocus_get_depth_stencil_resources(const struct intel_device_info *devinfo,
+                                   struct pipe_resource *res,
+                                   struct crocus_resource **out_z,
+                                   struct crocus_resource **out_s)
+{
+   /* gen4/5 only supports packed ds */
+   if (devinfo->ver < 6) {
+      *out_z = (void *)res;
+      *out_s = (void *)res;
+      return;
+   }
+
+   if (res && res->format != PIPE_FORMAT_S8_UINT) {
+      *out_z = (void *) res;
+      *out_s = (void *) _crocus_resource_get_separate_stencil(res);
+   } else {
+      *out_z = NULL;
+      *out_s = (void *) res;
+   }
+}
+
 
-void crocus_get_depth_stencil_resources(const struct intel_device_info *devinfo,
-                                        struct pipe_resource *res,
-                                        struct crocus_resource **out_z,
-                                        struct crocus_resource **out_s);
 bool crocus_resource_set_clear_color(struct crocus_context *ice,
                                      struct crocus_resource *res,
                                      union isl_color_value color);



More information about the mesa-commit mailing list