broadcom/vc5: Don't allocate simulator BOs at offset 0.
[mesa.git] / src / gallium / drivers / vc5 / meson.build
index deaa81fdb9d8cd6e74a09db2d4bae3e4390397f0..4f20c2697e5f187a59744f3e0c57e6a55a4b9e5f 100644 (file)
@@ -26,32 +26,56 @@ files_libvc5 = files(
   'vc5_cl.h',
   'vc5_context.c',
   'vc5_context.h',
-  'vc5_draw.c',
-  'vc5_emit.c',
   'vc5_fence.c',
   'vc5_formats.c',
   'vc5_job.c',
   'vc5_program.c',
   'vc5_query.c',
-  'vc5_rcl.c',
   'vc5_resource.c',
   'vc5_resource.h',
   'vc5_screen.c',
   'vc5_screen.h',
   'vc5_simulator.c',
   'vc5_simulator_wrapper.cpp',
-  'vc5_state.c',
   'vc5_tiling.c',
   'vc5_tiling.h',
   'vc5_uniforms.c',
 )
 
+files_per_version = files(
+  'v3dx_format_table.c',
+  'v3dx_job.c',
+  'v3dx_simulator.c',
+  'vc5_draw.c',
+  'vc5_emit.c',
+  'vc5_rcl.c',
+  'vc5_state.c',
+)
+
 v3dv3_c_args = []
 dep_v3dv3 = dependency('v3dv3')
 if dep_v3dv3.found()
   v3dv3_c_args = '-DUSE_VC5_SIMULATOR'
 endif
 
+vc5_versions = ['33', '41']
+
+per_version_libs = []
+foreach ver : vc5_versions
+  per_version_libs += static_library(
+    'vc5-v' + ver,
+    [files_per_version, v3d_xml_pack, nir_opcodes_h, nir_builder_opcodes_h],
+    include_directories : [
+      inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom,
+      inc_gallium_drivers, inc_drm_uapi,
+    ],
+    c_args : [c_vis_args, v3dv3_c_args, '-DV3D_VERSION=' + ver],
+    cpp_args : [cpp_vis_args],
+    dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind],
+)
+
+endforeach
+
 libvc5 = static_library(
   'vc5',
   [files_libvc5, v3d_xml_pack],
@@ -62,6 +86,7 @@ libvc5 = static_library(
   c_args : [c_vis_args, v3dv3_c_args],
   cpp_args : [cpp_vis_args, v3dv3_c_args],
   dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind, idep_nir_headers],
+  link_with: per_version_libs,
 )
 
 driver_vc5 = declare_dependency(