X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Ffreedreno%2Fmeson.build;h=a5c0935e07ecc0973489c543aaf61b8977896c85;hb=9ce4db6231462998f9426c74681a464bda928842;hp=01b5836be29c82d194404e3039dffdfcd232afe2;hpb=86f12e9377374108474b6a5d6b5dd6e9d37766db;p=mesa.git diff --git a/src/gallium/drivers/freedreno/meson.build b/src/gallium/drivers/freedreno/meson.build index 01b5836be29..a5c0935e07e 100644 --- a/src/gallium/drivers/freedreno/meson.build +++ b/src/gallium/drivers/freedreno/meson.build @@ -18,24 +18,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -ir3_nir_trig_c = custom_target( - 'ir3_nir_trig.c', - input : 'ir3/ir3_nir_trig.py', - output : 'ir3_nir_trig.c', - command : [prog_python2, '@INPUT@', '-p', - join_paths(meson.source_root(), 'src/compiler/nir/')], - capture : true, - depend_files : nir_algebraic_py, -) - files_libfreedreno = files( - 'adreno_common.xml.h', - 'adreno_pm4.xml.h', 'disasm.h', 'freedreno_batch.c', 'freedreno_batch.h', 'freedreno_batch_cache.c', 'freedreno_batch_cache.h', + 'freedreno_blitter.c', + 'freedreno_blitter.h', 'freedreno_context.c', 'freedreno_context.h', 'freedreno_draw.c', @@ -44,6 +34,8 @@ files_libfreedreno = files( 'freedreno_fence.h', 'freedreno_gmem.c', 'freedreno_gmem.h', + 'freedreno_log.c', + 'freedreno_log.h', 'freedreno_program.c', 'freedreno_program.h', 'freedreno_query.c', @@ -66,12 +58,9 @@ files_libfreedreno = files( 'freedreno_texture.h', 'freedreno_util.c', 'freedreno_util.h', - 'a2xx/a2xx.xml.h', 'a2xx/disasm-a2xx.c', 'a2xx/fd2_blend.c', 'a2xx/fd2_blend.h', - 'a2xx/fd2_compiler.c', - 'a2xx/fd2_compiler.h', 'a2xx/fd2_context.c', 'a2xx/fd2_context.h', 'a2xx/fd2_draw.c', @@ -82,8 +71,12 @@ files_libfreedreno = files( 'a2xx/fd2_gmem.h', 'a2xx/fd2_program.c', 'a2xx/fd2_program.h', + 'a2xx/fd2_query.c', + 'a2xx/fd2_query.h', 'a2xx/fd2_rasterizer.c', 'a2xx/fd2_rasterizer.h', + 'a2xx/fd2_resource.c', + 'a2xx/fd2_resource.h', 'a2xx/fd2_screen.c', 'a2xx/fd2_screen.h', 'a2xx/fd2_texture.c', @@ -93,9 +86,13 @@ files_libfreedreno = files( 'a2xx/fd2_zsa.c', 'a2xx/fd2_zsa.h', 'a2xx/instr-a2xx.h', - 'a2xx/ir-a2xx.c', - 'a2xx/ir-a2xx.h', - 'a3xx/a3xx.xml.h', + 'a2xx/ir2.c', + 'a2xx/ir2.h', + 'a2xx/ir2_assemble.c', + 'a2xx/ir2_cp.c', + 'a2xx/ir2_nir.c', + 'a2xx/ir2_private.h', + 'a2xx/ir2_ra.c', 'a3xx/fd3_blend.c', 'a3xx/fd3_blend.h', 'a3xx/fd3_context.c', @@ -114,13 +111,14 @@ files_libfreedreno = files( 'a3xx/fd3_query.h', 'a3xx/fd3_rasterizer.c', 'a3xx/fd3_rasterizer.h', + 'a3xx/fd3_resource.c', + 'a3xx/fd3_resource.h', 'a3xx/fd3_screen.c', 'a3xx/fd3_screen.h', 'a3xx/fd3_texture.c', 'a3xx/fd3_texture.h', 'a3xx/fd3_zsa.c', 'a3xx/fd3_zsa.h', - 'a4xx/a4xx.xml.h', 'a4xx/fd4_blend.c', 'a4xx/fd4_blend.h', 'a4xx/fd4_context.c', @@ -145,9 +143,10 @@ files_libfreedreno = files( 'a4xx/fd4_texture.h', 'a4xx/fd4_zsa.c', 'a4xx/fd4_zsa.h', - 'a5xx/a5xx.xml.h', 'a5xx/fd5_blend.c', 'a5xx/fd5_blend.h', + 'a5xx/fd5_blitter.c', + 'a5xx/fd5_blitter.h', 'a5xx/fd5_compute.c', 'a5xx/fd5_compute.h', 'a5xx/fd5_context.c', @@ -168,46 +167,88 @@ files_libfreedreno = files( 'a5xx/fd5_query.h', 'a5xx/fd5_rasterizer.c', 'a5xx/fd5_rasterizer.h', + 'a5xx/fd5_resource.c', + 'a5xx/fd5_resource.h', 'a5xx/fd5_screen.c', 'a5xx/fd5_screen.h', 'a5xx/fd5_texture.c', 'a5xx/fd5_texture.h', 'a5xx/fd5_zsa.c', 'a5xx/fd5_zsa.h', - 'ir3/disasm-a3xx.c', - 'ir3/instr-a3xx.h', - 'ir3/ir3.c', - 'ir3/ir3_compiler_nir.c', - 'ir3/ir3_compiler.c', - 'ir3/ir3_compiler.h', - 'ir3/ir3_cp.c', - 'ir3/ir3_depth.c', - 'ir3/ir3_group.c', - 'ir3/ir3.h', - 'ir3/ir3_legalize.c', - 'ir3/ir3_nir.c', - 'ir3/ir3_nir.h', - 'ir3/ir3_nir_lower_if_else.c', - 'ir3/ir3_nir_lower_tg4_to_tex.c', - 'ir3/ir3_print.c', - 'ir3/ir3_ra.c', - 'ir3/ir3_sched.c', - 'ir3/ir3_shader.c', - 'ir3/ir3_shader.h', + 'a6xx/fd6_blend.c', + 'a6xx/fd6_blend.h', + 'a6xx/fd6_blitter.c', + 'a6xx/fd6_blitter.h', + 'a6xx/fd6_compute.c', + 'a6xx/fd6_compute.h', + 'a6xx/fd6_context.c', + 'a6xx/fd6_context.h', + 'a6xx/fd6_draw.c', + 'a6xx/fd6_draw.h', + 'a6xx/fd6_emit.c', + 'a6xx/fd6_emit.h', + 'a6xx/fd6_format.c', + 'a6xx/fd6_format.h', + 'a6xx/fd6_gmem.c', + 'a6xx/fd6_gmem.h', + 'a6xx/fd6_image.c', + 'a6xx/fd6_image.h', + 'a6xx/fd6_program.c', + 'a6xx/fd6_program.h', + 'a6xx/fd6_query.c', + 'a6xx/fd6_query.h', + 'a6xx/fd6_rasterizer.c', + 'a6xx/fd6_rasterizer.h', + 'a6xx/fd6_resource.c', + 'a6xx/fd6_resource.h', + 'a6xx/fd6_screen.c', + 'a6xx/fd6_screen.h', + 'a6xx/fd6_texture.c', + 'a6xx/fd6_texture.h', + 'a6xx/fd6_zsa.c', + 'a6xx/fd6_zsa.h', + 'ir3/ir3_cache.c', + 'ir3/ir3_cache.h', + 'ir3/ir3_gallium.c', + 'ir3/ir3_gallium.h', ) freedreno_includes = [ - inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_nir, - include_directories('ir3') + inc_mesa, inc_mapi, + inc_src, inc_include, inc_gallium, inc_gallium_aux, + inc_freedreno, include_directories('ir3'), ] +freedreno_c_args = [ c_vis_args, no_override_init_args ] +if cc.has_argument('-Wpacked-bitfield-compat') + freedreno_c_args += '-Wno-packed-bitfield-compat' +endif + +freedreno_cpp_args = [] +if cpp.has_argument('-Wpacked-bitfield-compat') + freedreno_cpp_args += '-Wno-packed-bitfield-compat' +endif + libfreedreno = static_library( 'freedreno', - [files_libfreedreno, ir3_nir_trig_c, nir_opcodes_h], + [files_libfreedreno, freedreno_xml_header_files], include_directories : freedreno_includes, - c_args : [c_vis_args], - cpp_args : [cpp_vis_args], - dependencies : [dep_libdrm, dep_libdrm_freedreno], + c_args : [freedreno_c_args, c_vis_args], + cpp_args : [freedreno_cpp_args, cpp_vis_args], + dependencies : [dep_libdrm, idep_nir_headers], +) + +driver_freedreno = declare_dependency( + compile_args : '-DGALLIUM_FREEDRENO', + link_with : [ + libfreedrenowinsys, + libfreedreno, + libfreedreno_drm, + libfreedreno_ir3, + libfreedreno_layout, + libfreedreno_perfcntrs + ], + dependencies : idep_nir, ) ir3_compiler = executable( @@ -215,16 +256,17 @@ ir3_compiler = executable( 'ir3/ir3_cmdline.c', include_directories : freedreno_includes, dependencies : [ - dep_libdrm, - dep_libdrm_freedreno, - dependency('threads'), + idep_nir, + idep_mesautil, ], link_with : [ libfreedreno, + libfreedreno_drm, + libfreedreno_ir3, + libfreedreno_layout, libgallium, - libnir, libglsl_standalone, - libmesa_util, ], - build_by_default : true, + build_by_default : with_tools.contains('freedreno'), + install : with_tools.contains('freedreno'), )