From 8da3b21d07ba4d4596657061bea8ecf7e174fc80 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 16 Jan 2023 16:03:11 -0600 Subject: [PATCH] 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 Part-of: (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/svga/svga_draw_arrays.c | 2 +- src/gallium/drivers/svga/svga_draw_elements.c | 2 +- src/mesa/vbo/vbo_save_api.c | 2 +- src/util/meson.build | 20 +------------------- 15 files changed, 25 insertions(+), 25 deletions(-) rename src/{util => gallium/auxiliary}/indices/u_indices.c (100%) rename src/{util => gallium/auxiliary}/indices/u_indices.h (100%) rename src/{util => gallium/auxiliary}/indices/u_indices_gen.py (100%) rename src/{util => gallium/auxiliary}/indices/u_indices_priv.h (100%) rename src/{util => gallium/auxiliary}/indices/u_primconvert.c (100%) rename src/{util => gallium/auxiliary}/indices/u_primconvert.h (100%) rename src/{util => gallium/auxiliary}/indices/u_unfilled_gen.py (100%) rename src/{util => gallium/auxiliary}/indices/u_unfilled_indices.c (100%) diff --git a/.pick_status.json b/.pick_status.json index a557b1c..88f624f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3955,7 +3955,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 8745ee6..c7cdc59 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_mman.h', 'os/os_process.c', 'os/os_process.h', @@ -498,10 +502,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 357dc3e..58db9e6 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 "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/svga/svga_draw_arrays.c b/src/gallium/drivers/svga/svga_draw_arrays.c index cd967e2..fba33b7 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 "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 225edf0..ec7cba7 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 "indices/u_indices.h" #include "svga_cmd.h" #include "svga_draw.h" diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index 8283792..a41d518 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 a6e1273..c400c27 100644 --- a/src/util/meson.build +++ b/src/util/meson.build @@ -159,10 +159,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', ) @@ -244,20 +240,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'), @@ -268,7 +250,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], -- 2.7.4