From 41958cfc737b343752f7667020ef000ad46fcde8 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sun, 17 Nov 2024 13:42:33 -0400 Subject: [PATCH] libagx: switch to vtn_bindgen this splits out our headers properly. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Konstantin Seurer Part-of: --- src/asahi/clc/asahi_clc.c | 2 -- src/asahi/lib/agx_nir_lower_gs.c | 2 +- src/asahi/lib/agx_nir_lower_ia.c | 2 +- src/asahi/lib/agx_nir_lower_tess.c | 2 +- src/asahi/lib/agx_nir_lower_texture.c | 2 +- src/asahi/lib/agx_scratch.c | 4 ---- src/asahi/lib/meson.build | 15 ++++++++++++++- src/asahi/vulkan/hk_cmd_draw.c | 2 +- src/asahi/vulkan/hk_query_pool.c | 2 +- src/asahi/vulkan/meson.build | 1 + src/gallium/drivers/asahi/meson.build | 2 +- 11 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/asahi/clc/asahi_clc.c b/src/asahi/clc/asahi_clc.c index 0e0a58956bf..7a47fc1bcaf 100644 --- a/src/asahi/clc/asahi_clc.c +++ b/src/asahi/clc/asahi_clc.c @@ -406,8 +406,6 @@ main(int argc, char **argv) exec_node_remove(&func->node); } - spirv_library_to_nir_builder(fp, spirv_map, spirv_len / 4, &spirv_options); - /* Serialize NIR for embedding */ struct blob blob; blob_init(&blob); diff --git a/src/asahi/lib/agx_nir_lower_gs.c b/src/asahi/lib/agx_nir_lower_gs.c index 6f2276029aa..73d5e0a7e08 100644 --- a/src/asahi/lib/agx_nir_lower_gs.c +++ b/src/asahi/lib/agx_nir_lower_gs.c @@ -15,7 +15,7 @@ #include "util/macros.h" #include "util/ralloc.h" #include "util/u_math.h" -#include "libagx_shaders.h" +#include "libagx.h" #include "nir.h" #include "nir_builder_opcodes.h" #include "nir_intrinsics.h" diff --git a/src/asahi/lib/agx_nir_lower_ia.c b/src/asahi/lib/agx_nir_lower_ia.c index 4c88bddfc62..b26f6e284d8 100644 --- a/src/asahi/lib/agx_nir_lower_ia.c +++ b/src/asahi/lib/agx_nir_lower_ia.c @@ -6,7 +6,7 @@ #include "compiler/nir/nir_builder.h" #include "shaders/geometry.h" #include "agx_nir_lower_gs.h" -#include "libagx_shaders.h" +#include "libagx.h" #include "nir.h" /* diff --git a/src/asahi/lib/agx_nir_lower_tess.c b/src/asahi/lib/agx_nir_lower_tess.c index fb5012f03fe..a0d114ef812 100644 --- a/src/asahi/lib/agx_nir_lower_tess.c +++ b/src/asahi/lib/agx_nir_lower_tess.c @@ -7,7 +7,7 @@ #include "util/bitscan.h" #include "util/macros.h" #include "agx_nir_lower_gs.h" -#include "libagx_shaders.h" +#include "libagx.h" #include "nir.h" #include "nir_builder.h" #include "nir_builder_opcodes.h" diff --git a/src/asahi/lib/agx_nir_lower_texture.c b/src/asahi/lib/agx_nir_lower_texture.c index b385cae9450..11cd97cfd9e 100644 --- a/src/asahi/lib/agx_nir_lower_texture.c +++ b/src/asahi/lib/agx_nir_lower_texture.c @@ -10,7 +10,7 @@ #include "compiler/nir/nir_builder.h" #include "agx_nir_passes.h" #include "glsl_types.h" -#include "libagx_shaders.h" +#include "libagx.h" #include "nir_builder_opcodes.h" #include "nir_builtin_builder.h" #include "nir_intrinsics.h" diff --git a/src/asahi/lib/agx_scratch.c b/src/asahi/lib/agx_scratch.c index 072d8e59b18..b1ed536aa6d 100644 --- a/src/asahi/lib/agx_scratch.c +++ b/src/asahi/lib/agx_scratch.c @@ -4,13 +4,9 @@ */ #include "agx_scratch.h" -#include "asahi/compiler/agx_compile.h" #include "shaders/helper.h" -#include "util/u_hexdump.h" #include "agx_bo.h" #include "libagx_shaders.h" -#include "nir.h" -#include "nir_builder_opcodes.h" #define AGX_ADDR_SHIFT 8 #define AGX_THREADS_PER_GROUP 32 diff --git a/src/asahi/lib/meson.build b/src/asahi/lib/meson.build index 638f7422493..0ddc4ed0a5a 100644 --- a/src/asahi/lib/meson.build +++ b/src/asahi/lib/meson.build @@ -88,6 +88,19 @@ libagx_spv = custom_target( depends : [prog_mesa_clc, agx_pack], ) +libagx_h = custom_target( + 'libagx.h', + input : libagx_spv, + output : 'libagx.h', + command : [prog_vtn_bindgen, libagx_spv, '@OUTPUT@'], + depends : [prog_vtn_bindgen], +) + +idep_libagx = declare_dependency( + sources : [libagx_h], + include_directories : include_directories('.'), +) + libagx_shaders = custom_target( 'libagx_shaders.h', input : libagx_spv, @@ -107,7 +120,7 @@ libasahi_lib = static_library( c_args : [no_override_init_args], gnu_symbol_visibility : 'hidden', link_with: [libasahi_decode, libvdrm], - dependencies: [dep_libdrm, dep_valgrind, idep_nir, idep_mesautil], + dependencies: [dep_libdrm, dep_valgrind, idep_nir, idep_mesautil, idep_libagx], build_by_default : false, ) diff --git a/src/asahi/vulkan/hk_cmd_draw.c b/src/asahi/vulkan/hk_cmd_draw.c index 1666a7f5ac0..81b7c72417f 100644 --- a/src/asahi/vulkan/hk_cmd_draw.c +++ b/src/asahi/vulkan/hk_cmd_draw.c @@ -29,7 +29,7 @@ #include "hk_shader.h" #include "asahi/genxml/agx_pack.h" -#include "asahi/lib/libagx_shaders.h" +#include "asahi/lib/libagx.h" #include "asahi/lib/shaders/draws.h" #include "asahi/lib/shaders/geometry.h" #include "shaders/query.h" diff --git a/src/asahi/vulkan/hk_query_pool.c b/src/asahi/vulkan/hk_query_pool.c index 948449cb035..15001e12bf7 100644 --- a/src/asahi/vulkan/hk_query_pool.c +++ b/src/asahi/vulkan/hk_query_pool.c @@ -22,7 +22,7 @@ #include "vk_pipeline.h" #include "asahi/lib/agx_bo.h" -#include "asahi/lib/libagx_shaders.h" +#include "asahi/lib/libagx.h" #include "asahi/lib/shaders/query.h" #include "compiler/nir/nir.h" #include "compiler/nir/nir_builder.h" diff --git a/src/asahi/vulkan/meson.build b/src/asahi/vulkan/meson.build index dc9cfe7abcf..38801dcf275 100644 --- a/src/asahi/vulkan/meson.build +++ b/src/asahi/vulkan/meson.build @@ -69,6 +69,7 @@ hk_deps = [ idep_vulkan_wsi, idep_vulkan_wsi_headers, idep_agx_pack, + idep_libagx, ] libhk = static_library( diff --git a/src/gallium/drivers/asahi/meson.build b/src/gallium/drivers/asahi/meson.build index f0f845ac615..7ce039f5c99 100644 --- a/src/gallium/drivers/asahi/meson.build +++ b/src/gallium/drivers/asahi/meson.build @@ -23,7 +23,7 @@ libasahi = static_library( include_directories : [inc_gallium_aux, inc_gallium, inc_include, inc_src, inc_asahi, inc_virtio_gpu, inc_virtio_vdrm], c_args : [c_msvc_compat_args], gnu_symbol_visibility : 'hidden', - dependencies : [idep_nir, idep_mesautil, idep_agx_pack, dep_libdrm, idep_mesaclc], + dependencies : [idep_nir, idep_mesautil, idep_agx_pack, dep_libdrm, idep_mesaclc, idep_libagx], ) driver_asahi = declare_dependency(