Module: Mesa
Branch: staging/23.0
Commit: 0b3e2cda2471f13593cbc44997c0e6cccde540d3
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b3e2cda2471f13593cbc44997c0e6cccde540d3

Author: Jason Ekstrand <[email protected]>
Date:   Mon Jan 16 16:03:11 2023 -0600

gallium,util: Pull u_indices and u_primconvert back into gallium

This was moved in !13741 but doing so created a link-time dependency
between util and gallium which causes problems for Vulkan drivers.
Meanwhile, having mesa/main depend on gallium is fine now that we don't
have any classic drivers.  It's a bit circular but should be harmless.

Fixes: 97ba2f2fd486 ("move util/indices to core util")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8098
Acked-By: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20734>
(cherry picked from commit d292cb82b8ef1311eb4b78af2c90b1840ba5a6bf)

---

 .pick_status.json                                    |  2 +-
 src/{util => gallium/auxiliary}/indices/u_indices.c  |  0
 src/{util => gallium/auxiliary}/indices/u_indices.h  |  0
 .../auxiliary}/indices/u_indices_gen.py              |  0
 .../auxiliary}/indices/u_indices_priv.h              |  0
 .../auxiliary}/indices/u_primconvert.c               |  0
 .../auxiliary}/indices/u_primconvert.h               |  0
 .../auxiliary}/indices/u_unfilled_gen.py             |  0
 .../auxiliary}/indices/u_unfilled_indices.c          |  0
 src/gallium/auxiliary/meson.build                    | 20 +++++++++++++++++++-
 src/gallium/auxiliary/util/u_vbuf.c                  |  2 +-
 src/gallium/drivers/d3d12/d3d12_context.cpp          |  2 +-
 src/gallium/drivers/d3d12/d3d12_draw.cpp             |  2 +-
 src/gallium/drivers/svga/svga_draw_arrays.c          |  2 +-
 src/gallium/drivers/svga/svga_draw_elements.c        |  2 +-
 src/gallium/drivers/svga/svga_draw_private.h         |  2 +-
 src/gallium/drivers/virgl/virgl_context.c            |  2 +-
 src/mesa/main/tests/disable_windows_include.c        |  6 +++---
 src/mesa/vbo/vbo_save_api.c                          |  2 +-
 src/util/meson.build                                 | 20 +-------------------
 20 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index f2e3fd6a09d..ab342a53105 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -553,7 +553,7 @@
         "description": "gallium,util: Pull u_indices and u_primconvert back 
into gallium",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "97ba2f2fd4867779acac611075fee1505e2cf2fb"
     },
diff --git a/src/util/indices/u_indices.c 
b/src/gallium/auxiliary/indices/u_indices.c
similarity index 100%
rename from src/util/indices/u_indices.c
rename to src/gallium/auxiliary/indices/u_indices.c
diff --git a/src/util/indices/u_indices.h 
b/src/gallium/auxiliary/indices/u_indices.h
similarity index 100%
rename from src/util/indices/u_indices.h
rename to src/gallium/auxiliary/indices/u_indices.h
diff --git a/src/util/indices/u_indices_gen.py 
b/src/gallium/auxiliary/indices/u_indices_gen.py
similarity index 100%
rename from src/util/indices/u_indices_gen.py
rename to src/gallium/auxiliary/indices/u_indices_gen.py
diff --git a/src/util/indices/u_indices_priv.h 
b/src/gallium/auxiliary/indices/u_indices_priv.h
similarity index 100%
rename from src/util/indices/u_indices_priv.h
rename to src/gallium/auxiliary/indices/u_indices_priv.h
diff --git a/src/util/indices/u_primconvert.c 
b/src/gallium/auxiliary/indices/u_primconvert.c
similarity index 100%
rename from src/util/indices/u_primconvert.c
rename to src/gallium/auxiliary/indices/u_primconvert.c
diff --git a/src/util/indices/u_primconvert.h 
b/src/gallium/auxiliary/indices/u_primconvert.h
similarity index 100%
rename from src/util/indices/u_primconvert.h
rename to src/gallium/auxiliary/indices/u_primconvert.h
diff --git a/src/util/indices/u_unfilled_gen.py 
b/src/gallium/auxiliary/indices/u_unfilled_gen.py
similarity index 100%
rename from src/util/indices/u_unfilled_gen.py
rename to src/gallium/auxiliary/indices/u_unfilled_gen.py
diff --git a/src/util/indices/u_unfilled_indices.c 
b/src/gallium/auxiliary/indices/u_unfilled_indices.c
similarity index 100%
rename from src/util/indices/u_unfilled_indices.c
rename to src/gallium/auxiliary/indices/u_unfilled_indices.c
diff --git a/src/gallium/auxiliary/meson.build 
b/src/gallium/auxiliary/meson.build
index 0c6c1ee448b..a4ae1e3cba6 100644
--- a/src/gallium/auxiliary/meson.build
+++ b/src/gallium/auxiliary/meson.build
@@ -112,6 +112,10 @@ files_libgallium = files(
   'hud/hud_driver_query.c',
   'hud/hud_fps.c',
   'hud/hud_private.h',
+  'indices/u_indices.h',
+  'indices/u_indices_priv.h',
+  'indices/u_primconvert.c',
+  'indices/u_primconvert.h',
   'os/os_process.h',
   'pipebuffer/pb_buffer_fenced.c',
   'pipebuffer/pb_buffer_fenced.h',
@@ -491,10 +495,24 @@ idep_u_tracepoints = declare_dependency(
   sources: files_u_tracepoints,
 )
 
+u_indices_gen_c = custom_target(
+  'u_indices_gen.c',
+  input : 'indices/u_indices_gen.py',
+  output : 'u_indices_gen.c',
+  command : [prog_python, '@INPUT@', '@OUTPUT@'],
+)
+
+u_unfilled_gen_c = custom_target(
+  'u_unfilled_gen.c',
+  input : 'indices/u_unfilled_gen.py',
+  output : 'u_unfilled_gen.c',
+  command : [prog_python, '@INPUT@', '@OUTPUT@'],
+)
+
 libgallium_extra_c_args = []
 libgallium = static_library(
   'gallium',
-  [files_libgallium],
+  [files_libgallium, u_indices_gen_c, u_unfilled_gen_c],
   include_directories : [
     inc_loader, inc_gallium, inc_src, inc_include, include_directories('util')
   ],
diff --git a/src/gallium/auxiliary/util/u_vbuf.c 
b/src/gallium/auxiliary/util/u_vbuf.c
index 80f37dc9653..3e005f73bed 100644
--- a/src/gallium/auxiliary/util/u_vbuf.c
+++ b/src/gallium/auxiliary/util/u_vbuf.c
@@ -92,10 +92,10 @@
 #include "util/u_helpers.h"
 #include "util/u_inlines.h"
 #include "util/u_memory.h"
-#include "util/indices/u_primconvert.h"
 #include "util/u_prim_restart.h"
 #include "util/u_screen.h"
 #include "util/u_upload_mgr.h"
+#include "indices/u_primconvert.h"
 #include "translate/translate.h"
 #include "translate/translate_cache.h"
 #include "cso_cache/cso_cache.h"
diff --git a/src/gallium/drivers/d3d12/d3d12_context.cpp 
b/src/gallium/drivers/d3d12/d3d12_context.cpp
index 6d9d7a4a91b..c03909cd691 100644
--- a/src/gallium/drivers/d3d12/d3d12_context.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_context.cpp
@@ -40,7 +40,7 @@
 #include "d3d12_video_proc.h"
 #include "d3d12_video_buffer.h"
 #endif
-#include "util/indices/u_primconvert.h"
+#include "indices/u_primconvert.h"
 #include "util/u_atomic.h"
 #include "util/u_blitter.h"
 #include "util/u_dual_blend.h"
diff --git a/src/gallium/drivers/d3d12/d3d12_draw.cpp 
b/src/gallium/drivers/d3d12/d3d12_draw.cpp
index f9b11bb5ab8..cccc3372e29 100644
--- a/src/gallium/drivers/d3d12/d3d12_draw.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_draw.cpp
@@ -32,7 +32,7 @@
 #include "d3d12_screen.h"
 #include "d3d12_surface.h"
 
-#include "util/indices/u_primconvert.h"
+#include "indices/u_primconvert.h"
 #include "util/u_debug.h"
 #include "util/u_draw.h"
 #include "util/u_helpers.h"
diff --git a/src/gallium/drivers/svga/svga_draw_arrays.c 
b/src/gallium/drivers/svga/svga_draw_arrays.c
index fe424f2b7ed..20127e916fd 100644
--- a/src/gallium/drivers/svga/svga_draw_arrays.c
+++ b/src/gallium/drivers/svga/svga_draw_arrays.c
@@ -25,9 +25,9 @@
 
 #include "svga_cmd.h"
 
+#include "indices/u_indices.h"
 #include "util/u_inlines.h"
 #include "util/u_prim.h"
-#include "util/indices/u_indices.h"
 
 #include "svga_hw_reg.h"
 #include "svga_draw.h"
diff --git a/src/gallium/drivers/svga/svga_draw_elements.c 
b/src/gallium/drivers/svga/svga_draw_elements.c
index 6548fcae58f..ec7cba7588a 100644
--- a/src/gallium/drivers/svga/svga_draw_elements.c
+++ b/src/gallium/drivers/svga/svga_draw_elements.c
@@ -23,10 +23,10 @@
  *
  **********************************************************/
 
+#include "indices/u_indices.h"
 #include "util/u_inlines.h"
 #include "util/u_prim.h"
 #include "util/u_upload_mgr.h"
-#include "util/indices/u_indices.h"
 
 #include "svga_cmd.h"
 #include "svga_draw.h"
diff --git a/src/gallium/drivers/svga/svga_draw_private.h 
b/src/gallium/drivers/svga/svga_draw_private.h
index d762bf2836b..475ccc5aae0 100644
--- a/src/gallium/drivers/svga/svga_draw_private.h
+++ b/src/gallium/drivers/svga/svga_draw_private.h
@@ -28,7 +28,7 @@
 
 #include "pipe/p_compiler.h"
 #include "pipe/p_defines.h"
-#include "util/indices/u_indices.h"
+#include "indices/u_indices.h"
 #include "util/u_prim.h"
 #include "svga_context.h"
 #include "svga_hw_reg.h"
diff --git a/src/gallium/drivers/virgl/virgl_context.c 
b/src/gallium/drivers/virgl/virgl_context.c
index dcd8a71a6da..82cf5ca6004 100644
--- a/src/gallium/drivers/virgl/virgl_context.c
+++ b/src/gallium/drivers/virgl/virgl_context.c
@@ -31,7 +31,7 @@
 #include "pipe/p_state.h"
 #include "nir/nir_to_tgsi.h"
 #include "util/format/u_format.h"
-#include "util/indices/u_primconvert.h"
+#include "indices/u_primconvert.h"
 #include "util/u_draw.h"
 #include "util/u_inlines.h"
 #include "util/u_memory.h"
diff --git a/src/mesa/main/tests/disable_windows_include.c 
b/src/mesa/main/tests/disable_windows_include.c
index 8a1df65d110..46415e70049 100644
--- a/src/mesa/main/tests/disable_windows_include.c
+++ b/src/mesa/main/tests/disable_windows_include.c
@@ -22,6 +22,9 @@
  */
 
 /* find | grep .*h$ >../headers.txt */
+#include <indices/u_indices.h>
+#include <indices/u_indices_priv.h>
+#include <indices/u_primconvert.h>
 #include <mesa/main/accum.h>
 #include <mesa/main/api_arrayelt.h>
 #include <mesa/main/arrayobj.h>
@@ -224,9 +227,6 @@
 #include <util/glheader.h>
 #include <util/half_float.h>
 #include <util/hash_table.h>
-#include <util/indices/u_indices.h>
-#include <util/indices/u_indices_priv.h>
-#include <util/indices/u_primconvert.h>
 #include <util/list.h>
 #include <util/log.h>
 #include <util/macros.h>
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index 880933ebb78..d6bdfa3840a 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -116,7 +116,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "util/bitscan.h"
 #include "util/u_memory.h"
 #include "util/hash_table.h"
-#include "util/indices/u_indices.h"
+#include "gallium/auxiliary/indices/u_indices.h"
 #include "util/u_prim.h"
 
 #include "gallium/include/pipe/p_state.h"
diff --git a/src/util/meson.build b/src/util/meson.build
index 6a5881b3d9a..5b5cd67bb01 100644
--- a/src/util/meson.build
+++ b/src/util/meson.build
@@ -162,10 +162,6 @@ files_mesa_util = files(
   'vma.c',
   'vma.h',
   'xxhash.h',
-  'indices/u_indices.h',
-  'indices/u_indices_priv.h',
-  'indices/u_primconvert.c',
-  'indices/u_primconvert.h',
   'mesa_cache_db.c',
   'mesa_cache_db.h',
 )
@@ -249,20 +245,6 @@ endif
 
 u_trace_py = files('perf/u_trace.py')
 
-u_indices_gen_c = custom_target(
-  'u_indices_gen.c',
-  input : 'indices/u_indices_gen.py',
-  output : 'u_indices_gen.c',
-  command : [prog_python, '@INPUT@', '@OUTPUT@'],
-)
-
-u_unfilled_gen_c = custom_target(
-  'u_unfilled_gen.c',
-  input : 'indices/u_unfilled_gen.py',
-  output : 'u_unfilled_gen.c',
-  command : [prog_python, '@INPUT@', '@OUTPUT@'],
-)
-
 libmesa_util_sse41 = static_library(
   'mesa_util_sse41',
   files('streaming-load-memcpy.c'),
@@ -273,7 +255,7 @@ libmesa_util_sse41 = static_library(
 
 _libmesa_util = static_library(
   'mesa_util',
-  [files_mesa_util, files_debug_stack, format_srgb, u_indices_gen_c, 
u_unfilled_gen_c],
+  [files_mesa_util, files_debug_stack, format_srgb],
   include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, 
inc_gallium, inc_gallium_aux],
   dependencies : deps_for_libmesa_util,
   link_with: [libmesa_format, libmesa_util_sse41],

Reply via email to