broadcom/vc5: Don't allocate simulator BOs at offset 0.
[mesa.git] / src / gallium / drivers / vc5 / meson.build
index d066366fcc74ea38d58c96d8abc55c7e6513dbbb..4f20c2697e5f187a59744f3e0c57e6a55a4b9e5f 100644 (file)
@@ -26,40 +26,71 @@ 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_state.c',
+  'vc5_simulator_wrapper.cpp',
   '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, nir_opcodes_h, nir_builder_opcodes_h],
+  [files_libvc5, v3d_xml_pack],
   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],
-  cpp_args : [cpp_vis_args],
-  dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind],
-  build_by_default : false,
+  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(
+  compile_args : '-DGALLIUM_VC5',
+  link_with : [libvc5, libvc5winsys, libbroadcom_cle, libbroadcom_vc5],
+  dependencies : idep_nir,
 )