Mesa (master): freedreno/perfcntrs: move to shared location

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 21 20:01:36 UTC 2019


Module: Mesa
Branch: master
Commit: b21f03ae7eae95ff99b111ba5907f09bfcfebbc8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b21f03ae7eae95ff99b111ba5907f09bfcfebbc8

Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Nov 19 11:05:59 2019 -0800

freedreno/perfcntrs: move to shared location

This should eventually be useful for VK_KHR_performance_query as well.
And in the more near term, for fdperf.

Attempt to not break android build is best-effort and untested.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>

---

 src/freedreno/Android.mk                           |  1 +
 src/freedreno/Android.perfcntrs.mk                 | 43 ++++++++++++++++++++++
 src/freedreno/Makefile.sources                     |  6 +++
 src/freedreno/meson.build                          |  1 +
 .../a2xx => freedreno/perfcntrs}/fd2_perfcntr.c    |  0
 .../a5xx => freedreno/perfcntrs}/fd5_perfcntr.c    |  0
 .../a6xx => freedreno/perfcntrs}/fd6_perfcntr.c    |  0
 .../perfcntrs}/freedreno_perfcntr.h                |  2 -
 src/freedreno/perfcntrs/meson.build                | 37 +++++++++++++++++++
 src/gallium/drivers/freedreno/Android.mk           |  2 +-
 src/gallium/drivers/freedreno/Makefile.sources     |  4 --
 src/gallium/drivers/freedreno/freedreno_screen.h   |  2 +-
 src/gallium/drivers/freedreno/meson.build          |  5 +--
 13 files changed, 91 insertions(+), 12 deletions(-)

diff --git a/src/freedreno/Android.mk b/src/freedreno/Android.mk
index 84d0c82c2cb..e5889cc5b99 100644
--- a/src/freedreno/Android.mk
+++ b/src/freedreno/Android.mk
@@ -28,4 +28,5 @@ include $(LOCAL_PATH)/Makefile.sources
 include $(MESA_TOP)/src/gallium/drivers/freedreno/Android.gen.mk
 include $(LOCAL_PATH)/Android.drm.mk
 include $(LOCAL_PATH)/Android.ir3.mk
+include $(LOCAL_PATH)/Android.perfcntrs.mk
 include $(LOCAL_PATH)/Android.registers.mk
diff --git a/src/freedreno/Android.perfcntrs.mk b/src/freedreno/Android.perfcntrs.mk
new file mode 100644
index 00000000000..80634198a70
--- /dev/null
+++ b/src/freedreno/Android.perfcntrs.mk
@@ -0,0 +1,43 @@
+# Mesa 3-D graphics library
+#
+# Copyright (C)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+# Android.mk for libfreedreno_perfcntrs.a
+
+# ---------------------------------------
+# Build libfreedreno_perfcntrs
+# ---------------------------------------
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+	$(perfcntrs_SOURCES)
+
+LOCAL_C_INCLUDES :=
+
+LOCAL_MODULE := libfreedreno_perfcntrs
+
+LOCAL_GENERATED_SOURCES := \
+	$(MESA_GEN_GLSL_H) \
+	$(MESA_GEN_NIR_H)
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/src/freedreno/Makefile.sources b/src/freedreno/Makefile.sources
index ccd6708c9bb..ac8c4607fbd 100644
--- a/src/freedreno/Makefile.sources
+++ b/src/freedreno/Makefile.sources
@@ -52,3 +52,9 @@ ir3_SOURCES := \
 ir3_GENERATED_FILES := \
 	ir3/ir3_nir_trig.c \
 	ir3/ir3_nir_imul.c
+
+perfcntrs_SOURCES := \
+	perfcntrs/fd2_perfcntr.c \
+	perfcntrs/fd5_perfcntr.c \
+	perfcntrs/fd6_perfcntr.c \
+	perfcntrs/freedreno_perfcntr.h
diff --git a/src/freedreno/meson.build b/src/freedreno/meson.build
index fda973cc684..5764d4c38ea 100644
--- a/src/freedreno/meson.build
+++ b/src/freedreno/meson.build
@@ -23,6 +23,7 @@ inc_freedreno = include_directories(['.', './registers'])
 subdir('drm')
 subdir('ir3')
 subdir('registers')
+subdir('perfcntrs')
 
 if with_tools.contains('drm-shim')
   subdir('drm-shim')
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_perfcntr.c b/src/freedreno/perfcntrs/fd2_perfcntr.c
similarity index 100%
rename from src/gallium/drivers/freedreno/a2xx/fd2_perfcntr.c
rename to src/freedreno/perfcntrs/fd2_perfcntr.c
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_perfcntr.c b/src/freedreno/perfcntrs/fd5_perfcntr.c
similarity index 100%
rename from src/gallium/drivers/freedreno/a5xx/fd5_perfcntr.c
rename to src/freedreno/perfcntrs/fd5_perfcntr.c
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_perfcntr.c b/src/freedreno/perfcntrs/fd6_perfcntr.c
similarity index 100%
rename from src/gallium/drivers/freedreno/a6xx/fd6_perfcntr.c
rename to src/freedreno/perfcntrs/fd6_perfcntr.c
diff --git a/src/gallium/drivers/freedreno/freedreno_perfcntr.h b/src/freedreno/perfcntrs/freedreno_perfcntr.h
similarity index 99%
rename from src/gallium/drivers/freedreno/freedreno_perfcntr.h
rename to src/freedreno/perfcntrs/freedreno_perfcntr.h
index 041d84bda54..6d61f673327 100644
--- a/src/gallium/drivers/freedreno/freedreno_perfcntr.h
+++ b/src/freedreno/perfcntrs/freedreno_perfcntr.h
@@ -27,8 +27,6 @@
 #ifndef FREEDRENO_PERFCNTR_H_
 #define FREEDRENO_PERFCNTR_H_
 
-#include "pipe/p_defines.h"
-
 /*
  * Mapping very closely to the AMD_performance_monitor extension, adreno has
  * groups of performance counters where each group has N counters, which can
diff --git a/src/freedreno/perfcntrs/meson.build b/src/freedreno/perfcntrs/meson.build
new file mode 100644
index 00000000000..8e110633c3e
--- /dev/null
+++ b/src/freedreno/perfcntrs/meson.build
@@ -0,0 +1,37 @@
+# Copyright © 2018 Rob Clark
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+libfreedreno_perfcntrs_files = files(
+  'fd2_perfcntr.c',
+  'fd5_perfcntr.c',
+  'fd6_perfcntr.c',
+  'freedreno_perfcntr.h',
+)
+
+libfreedreno_perfcntrs = static_library(
+  'freedreno_perfcntrs',
+  [libfreedreno_perfcntrs_files, freedreno_xml_header_files],
+  include_directories : [inc_freedreno, inc_common],
+  c_args : [c_vis_args, no_override_init_args],
+  cpp_args : [cpp_vis_args],
+  dependencies : idep_nir_headers,
+  build_by_default : false,
+)
+
diff --git a/src/gallium/drivers/freedreno/Android.mk b/src/gallium/drivers/freedreno/Android.mk
index f0b29b1167a..8ce64b56214 100644
--- a/src/gallium/drivers/freedreno/Android.mk
+++ b/src/gallium/drivers/freedreno/Android.mk
@@ -44,7 +44,7 @@ LOCAL_C_INCLUDES := \
 LOCAL_GENERATED_SOURCES := $(MESA_GEN_NIR_H)
 
 LOCAL_SHARED_LIBRARIES := libdrm
-LOCAL_STATIC_LIBRARIES := libmesa_glsl libmesa_nir libfreedreno_drm libfreedreno_ir3 libfreedreno_registers
+LOCAL_STATIC_LIBRARIES := libmesa_glsl libmesa_nir libfreedreno_drm libfreedreno_ir3 libfreedreno_perfcntrs libfreedreno_registers
 LOCAL_MODULE := libmesa_pipe_freedreno
 
 include $(LOCAL_PATH)/Android.gen.mk
diff --git a/src/gallium/drivers/freedreno/Makefile.sources b/src/gallium/drivers/freedreno/Makefile.sources
index 94b26a368ad..88e9e047c61 100644
--- a/src/gallium/drivers/freedreno/Makefile.sources
+++ b/src/gallium/drivers/freedreno/Makefile.sources
@@ -14,7 +14,6 @@ C_SOURCES := \
 	freedreno_fence.h \
 	freedreno_gmem.c \
 	freedreno_gmem.h \
-	freedreno_perfcntr.h \
 	freedreno_program.c \
 	freedreno_program.h \
 	freedreno_query.c \
@@ -50,7 +49,6 @@ a2xx_SOURCES := \
 	a2xx/fd2_emit.h \
 	a2xx/fd2_gmem.c \
 	a2xx/fd2_gmem.h \
-	a2xx/fd2_perfcntr.c \
 	a2xx/fd2_program.c \
 	a2xx/fd2_program.h \
 	a2xx/fd2_query.c \
@@ -149,7 +147,6 @@ a5xx_SOURCES := \
 	a5xx/fd5_gmem.h \
 	a5xx/fd5_image.c \
 	a5xx/fd5_image.h \
-	a5xx/fd5_perfcntr.c \
 	a5xx/fd5_program.c \
 	a5xx/fd5_program.h \
 	a5xx/fd5_query.c \
@@ -184,7 +181,6 @@ a6xx_SOURCES := \
 	a6xx/fd6_gmem.h \
 	a6xx/fd6_image.c \
 	a6xx/fd6_image.h \
-	a6xx/fd6_perfcntr.c \
 	a6xx/fd6_program.c \
 	a6xx/fd6_program.h \
 	a6xx/fd6_query.c \
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.h b/src/gallium/drivers/freedreno/freedreno_screen.h
index e0c05f2b6a7..b60f96831a6 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.h
+++ b/src/gallium/drivers/freedreno/freedreno_screen.h
@@ -29,6 +29,7 @@
 
 #include "drm/freedreno_drmif.h"
 #include "drm/freedreno_ringbuffer.h"
+#include "perfcntrs/freedreno_perfcntr.h"
 
 #include "pipe/p_screen.h"
 #include "util/u_memory.h"
@@ -37,7 +38,6 @@
 #include "renderonly/renderonly.h"
 
 #include "freedreno_batch_cache.h"
-#include "freedreno_perfcntr.h"
 #include "freedreno_util.h"
 
 struct fd_bo;
diff --git a/src/gallium/drivers/freedreno/meson.build b/src/gallium/drivers/freedreno/meson.build
index d96f2aceb2d..09cf125c61d 100644
--- a/src/gallium/drivers/freedreno/meson.build
+++ b/src/gallium/drivers/freedreno/meson.build
@@ -34,7 +34,6 @@ files_libfreedreno = files(
   'freedreno_fence.h',
   'freedreno_gmem.c',
   'freedreno_gmem.h',
-  'freedreno_perfcntr.h',
   'freedreno_program.c',
   'freedreno_program.h',
   'freedreno_query.c',
@@ -68,7 +67,6 @@ files_libfreedreno = files(
   'a2xx/fd2_emit.h',
   'a2xx/fd2_gmem.c',
   'a2xx/fd2_gmem.h',
-  'a2xx/fd2_perfcntr.c',
   'a2xx/fd2_program.c',
   'a2xx/fd2_program.h',
   'a2xx/fd2_query.c',
@@ -161,7 +159,6 @@ files_libfreedreno = files(
   'a5xx/fd5_gmem.h',
   'a5xx/fd5_image.c',
   'a5xx/fd5_image.h',
-  'a5xx/fd5_perfcntr.c',
   'a5xx/fd5_program.c',
   'a5xx/fd5_program.h',
   'a5xx/fd5_query.c',
@@ -194,7 +191,6 @@ files_libfreedreno = files(
   'a6xx/fd6_gmem.h',
   'a6xx/fd6_image.c',
   'a6xx/fd6_image.h',
-  'a6xx/fd6_perfcntr.c',
   'a6xx/fd6_program.c',
   'a6xx/fd6_program.h',
   'a6xx/fd6_query.c',
@@ -247,6 +243,7 @@ driver_freedreno = declare_dependency(
     libfreedreno,
     libfreedreno_drm,
     libfreedreno_ir3,
+    libfreedreno_perfcntrs
   ],
   dependencies : idep_nir,
 )




More information about the mesa-commit mailing list