diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2020-08-26 06:03:18 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2020-08-26 06:03:18 +0000 |
commit | af5e8f5366b05c3d4f8521f318c143a5c5dc3ea9 (patch) | |
tree | c5691445908b1beca9facf0e5e3c5d7f35f74228 /lib/mesa/src/freedreno | |
parent | 27c93456b58343162f7c4ad20ca6bea0c9a91646 (diff) |
Merge Mesa 20.1.6
Diffstat (limited to 'lib/mesa/src/freedreno')
-rw-r--r-- | lib/mesa/src/freedreno/Makefile.am | 77 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/Makefile.in | 1518 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/ir3/ir3_depth.c | 272 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/ir3/ir3_nir_imul.c | 252 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/ir3/ir3_nir_trig.c | 339 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/tu_meta_blit.c | 39 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/tu_meta_buffer.c | 19 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/tu_meta_clear.c | 53 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/tu_meta_copy.c | 690 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/tu_meta_resolve.c | 41 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/vk_format_layout.csv | 188 | ||||
-rw-r--r-- | lib/mesa/src/freedreno/vulkan/vk_format_table.py | 173 |
12 files changed, 0 insertions, 3661 deletions
diff --git a/lib/mesa/src/freedreno/Makefile.am b/lib/mesa/src/freedreno/Makefile.am deleted file mode 100644 index bcc84e3f2..000000000 --- a/lib/mesa/src/freedreno/Makefile.am +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright © 2016 Broadcom -# Copyright © 2016 Intel Corporation -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. - -AM_CPPFLAGS = \ - -I$(top_srcdir)/include \ - -I$(top_builddir)/src \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/freedreno/ \ - -I$(top_srcdir)/src/gallium/auxiliary \ - -I$(top_srcdir)/src/gallium/include \ - $(DEFINES) - -AM_CFLAGS = \ - $(EXPAT_CFLAGS) - -include Makefile.sources - -lib_LTLIBRARIES = -check_LTLIBRARIES = -noinst_DATA = -noinst_HEADERS = $(registers_FILES) -noinst_LTLIBRARIES = -noinst_PROGRAMS = -check_PROGRAMS = -TESTS = -BUILT_SOURCES = -CLEANFILES = -EXTRA_DIST = \ - meson.build \ - drm/meson.build \ - ir3/ir3_nir_trig.py \ - ir3/meson.build - -MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D) -PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS) - -CLEANFILES += $(BUILT_SOURCES) - -noinst_LTLIBRARIES += libfreedreno_drm.la - -libfreedreno_drm_la_SOURCES = $(drm_SOURCES) -libfreedreno_drm_la_CFLAGS = $(VALGRIND_CFLAGS) $(LIBDRM_CFLAGS) - -noinst_LTLIBRARIES += libfreedreno_ir3.la - -libfreedreno_ir3_la_SOURCES = $(ir3_SOURCES) $(ir3_GENERATED_FILES) -libfreedreno_ir3_la_CFLAGS = \ - -I$(top_srcdir)/src/freedreno/ir3 \ - -I$(top_builddir)/src/compiler/nir \ - -I$(top_srcdir)/src/compiler/nir - -ir3/ir3_nir_trig.c: ir3/ir3_nir_trig.py $(top_srcdir)/src/compiler/nir/nir_algebraic.py - $(MKDIR_GEN) - $(AM_V_GEN) $(PYTHON) $(PYTHON_FLAGS) $(srcdir)/ir3/ir3_nir_trig.py -p $(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false) - -ir3/ir3_nir_imul.c: ir3/ir3_nir_imul.py $(top_srcdir)/src/compiler/nir/nir_algebraic.py - $(MKDIR_GEN) - $(AM_V_GEN) $(PYTHON) $(PYTHON_FLAGS) $(srcdir)/ir3/ir3_nir_imul.py -p $(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false) diff --git a/lib/mesa/src/freedreno/Makefile.in b/lib/mesa/src/freedreno/Makefile.in deleted file mode 100644 index d5a06d2a2..000000000 --- a/lib/mesa/src/freedreno/Makefile.in +++ /dev/null @@ -1,1518 +0,0 @@ -# Makefile.in generated by automake 1.12.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2012 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright © 2016 Broadcom -# Copyright © 2016 Intel Corporation -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. - - - - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/Makefile.sources \ - $(top_srcdir)/bin/depcomp -noinst_PROGRAMS = -check_PROGRAMS = -TESTS = -subdir = src/freedreno -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4/ax_check_gnu_make.m4 \ - $(top_srcdir)/m4/ax_check_python_mako_module.m4 \ - $(top_srcdir)/m4/ax_gcc_builtin.m4 \ - $(top_srcdir)/m4/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/m4/ax_prog_bison.m4 \ - $(top_srcdir)/m4/ax_prog_flex.m4 \ - $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/VERSION $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) -libfreedreno_drm_la_LIBADD = -am__dirstamp = $(am__leading_dot)dirstamp -am__objects_1 = drm/libfreedreno_drm_la-freedreno_bo.lo \ - drm/libfreedreno_drm_la-freedreno_ringbuffer.lo \ - drm/libfreedreno_drm_la-msm_bo.lo \ - drm/libfreedreno_drm_la-msm_pipe.lo \ - drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo \ - drm/libfreedreno_drm_la-freedreno_bo_cache.lo \ - drm/libfreedreno_drm_la-freedreno_pipe.lo \ - drm/libfreedreno_drm_la-msm_device.lo \ - drm/libfreedreno_drm_la-freedreno_device.lo \ - drm/libfreedreno_drm_la-msm_ringbuffer.lo -am_libfreedreno_drm_la_OBJECTS = $(am__objects_1) -libfreedreno_drm_la_OBJECTS = $(am_libfreedreno_drm_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libfreedreno_drm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libfreedreno_ir3_la_LIBADD = -am__objects_2 = ir3/libfreedreno_ir3_la-disasm-a3xx.lo \ - ir3/libfreedreno_ir3_la-ir3.lo \ - ir3/libfreedreno_ir3_la-ir3_a4xx.lo \ - ir3/libfreedreno_ir3_la-ir3_a6xx.lo \ - ir3/libfreedreno_ir3_la-ir3_compiler.lo \ - ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo \ - ir3/libfreedreno_ir3_la-ir3_context.lo \ - ir3/libfreedreno_ir3_la-ir3_cp.lo \ - ir3/libfreedreno_ir3_la-ir3_depth.lo \ - ir3/libfreedreno_ir3_la-ir3_group.lo \ - ir3/libfreedreno_ir3_la-ir3_image.lo \ - ir3/libfreedreno_ir3_la-ir3_legalize.lo \ - ir3/libfreedreno_ir3_la-ir3_nir.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo \ - ir3/libfreedreno_ir3_la-ir3_print.lo \ - ir3/libfreedreno_ir3_la-ir3_ra.lo \ - ir3/libfreedreno_ir3_la-ir3_sched.lo \ - ir3/libfreedreno_ir3_la-ir3_shader.lo \ - ir3/libfreedreno_ir3_la-ir3_sun.lo -am__objects_3 = ir3/libfreedreno_ir3_la-ir3_nir_trig.lo \ - ir3/libfreedreno_ir3_la-ir3_nir_imul.lo -am_libfreedreno_ir3_la_OBJECTS = $(am__objects_2) $(am__objects_3) -libfreedreno_ir3_la_OBJECTS = $(am_libfreedreno_ir3_la_OBJECTS) -libfreedreno_ir3_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -PROGRAMS = $(noinst_PROGRAMS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/bin/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libfreedreno_drm_la_SOURCES) \ - $(libfreedreno_ir3_la_SOURCES) -DIST_SOURCES = $(libfreedreno_drm_la_SOURCES) \ - $(libfreedreno_ir3_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(noinst_DATA) -HEADERS = $(noinst_HEADERS) -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = $(am__tty_colors_dummy) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDGPU_CFLAGS = @AMDGPU_CFLAGS@ -AMDGPU_LIBS = @AMDGPU_LIBS@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -ANDROID_CFLAGS = @ANDROID_CFLAGS@ -ANDROID_LIBS = @ANDROID_LIBS@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BACKTRACE_CFLAGS = @BACKTRACE_CFLAGS@ -BACKTRACE_LIBS = @BACKTRACE_LIBS@ -BSYMBOLIC = @BSYMBOLIC@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CLANG_RESOURCE_DIR = @CLANG_RESOURCE_DIR@ -CLOCK_LIB = @CLOCK_LIB@ -CLOVER_STD_OVERRIDE = @CLOVER_STD_OVERRIDE@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXX11_CXXFLAGS = @CXX11_CXXFLAGS@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -D3D_DRIVER_INSTALL_DIR = @D3D_DRIVER_INSTALL_DIR@ -DEFINES = @DEFINES@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DLOPEN_LIBS = @DLOPEN_LIBS@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ -DRIGL_CFLAGS = @DRIGL_CFLAGS@ -DRIGL_LIBS = @DRIGL_LIBS@ -DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@ -DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@ -DRI_LIB_DEPS = @DRI_LIB_DEPS@ -DRI_PC_REQ_PRIV = @DRI_PC_REQ_PRIV@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGL_CFLAGS = @EGL_CFLAGS@ -EGL_LIB_DEPS = @EGL_LIB_DEPS@ -EGL_LIB_SUFFIX = @EGL_LIB_SUFFIX@ -EGL_NATIVE_PLATFORM = @EGL_NATIVE_PLATFORM@ -EGREP = @EGREP@ -ETNAVIV_CFLAGS = @ETNAVIV_CFLAGS@ -ETNAVIV_LIBS = @ETNAVIV_LIBS@ -EXEEXT = @EXEEXT@ -EXPAT_CFLAGS = @EXPAT_CFLAGS@ -EXPAT_LIBS = @EXPAT_LIBS@ -FGREP = @FGREP@ -GALLIUM_PIPE_LOADER_DEFINES = @GALLIUM_PIPE_LOADER_DEFINES@ -GBM_PC_LIB_PRIV = @GBM_PC_LIB_PRIV@ -GBM_PC_REQ_PRIV = @GBM_PC_REQ_PRIV@ -GC_SECTIONS = @GC_SECTIONS@ -GLES_LIB_SUFFIX = @GLES_LIB_SUFFIX@ -GLESv1_CM_LIB_DEPS = @GLESv1_CM_LIB_DEPS@ -GLESv1_CM_PC_LIB_PRIV = @GLESv1_CM_PC_LIB_PRIV@ -GLESv2_LIB_DEPS = @GLESv2_LIB_DEPS@ -GLESv2_PC_LIB_PRIV = @GLESv2_PC_LIB_PRIV@ -GLPROTO_CFLAGS = @GLPROTO_CFLAGS@ -GLPROTO_LIBS = @GLPROTO_LIBS@ -GLVND_CFLAGS = @GLVND_CFLAGS@ -GLVND_LIBS = @GLVND_LIBS@ -GLX_TLS = @GLX_TLS@ -GL_LIB = @GL_LIB@ -GL_LIB_DEPS = @GL_LIB_DEPS@ -GL_PC_CFLAGS = @GL_PC_CFLAGS@ -GL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@ -GL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@ -GL_PKGCONF_LIB = @GL_PKGCONF_LIB@ -GREP = @GREP@ -I915_CFLAGS = @I915_CFLAGS@ -I915_LIBS = @I915_LIBS@ -INDENT = @INDENT@ -INDENT_FLAGS = @INDENT_FLAGS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LD_BUILD_ID = @LD_BUILD_ID@ -LD_NO_UNDEFINED = @LD_NO_UNDEFINED@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBATOMIC_LIBS = @LIBATOMIC_LIBS@ -LIBCLC_INCLUDEDIR = @LIBCLC_INCLUDEDIR@ -LIBCLC_LIBEXECDIR = @LIBCLC_LIBEXECDIR@ -LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ -LIBDRM_LIBS = @LIBDRM_LIBS@ -LIBELF_CFLAGS = @LIBELF_CFLAGS@ -LIBELF_LIBS = @LIBELF_LIBS@ -LIBGLVND_DATADIR = @LIBGLVND_DATADIR@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSENSORS_LIBS = @LIBSENSORS_LIBS@ -LIBTOOL = @LIBTOOL@ -LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ -LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ -LIB_DIR = @LIB_DIR@ -LIB_EXT = @LIB_EXT@ -LIPO = @LIPO@ -LLVM_CFLAGS = @LLVM_CFLAGS@ -LLVM_CONFIG = @LLVM_CONFIG@ -LLVM_CXXFLAGS = @LLVM_CXXFLAGS@ -LLVM_INCLUDEDIR = @LLVM_INCLUDEDIR@ -LLVM_LDFLAGS = @LLVM_LDFLAGS@ -LLVM_LIBS = @LLVM_LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSVC2013_COMPAT_CFLAGS = @MSVC2013_COMPAT_CFLAGS@ -MSVC2013_COMPAT_CXXFLAGS = @MSVC2013_COMPAT_CXXFLAGS@ -NINE_MAJOR = @NINE_MAJOR@ -NINE_MINOR = @NINE_MINOR@ -NINE_PATCH = @NINE_PATCH@ -NINE_VERSION = @NINE_VERSION@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NOUVEAU_CFLAGS = @NOUVEAU_CFLAGS@ -NOUVEAU_LIBS = @NOUVEAU_LIBS@ -NVVIEUX_CFLAGS = @NVVIEUX_CFLAGS@ -NVVIEUX_LIBS = @NVVIEUX_LIBS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OMX_BELLAGIO_CFLAGS = @OMX_BELLAGIO_CFLAGS@ -OMX_BELLAGIO_LIBS = @OMX_BELLAGIO_LIBS@ -OMX_BELLAGIO_LIB_INSTALL_DIR = @OMX_BELLAGIO_LIB_INSTALL_DIR@ -OMX_TIZONIA_CFLAGS = @OMX_TIZONIA_CFLAGS@ -OMX_TIZONIA_LIBS = @OMX_TIZONIA_LIBS@ -OMX_TIZONIA_LIB_INSTALL_DIR = @OMX_TIZONIA_LIB_INSTALL_DIR@ -OPENCL_LIBNAME = @OPENCL_LIBNAME@ -OPENCL_VERSION = @OPENCL_VERSION@ -OSMESA_LIB = @OSMESA_LIB@ -OSMESA_LIB_DEPS = @OSMESA_LIB_DEPS@ -OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@ -OSMESA_PC_REQ = @OSMESA_PC_REQ@ -OSMESA_VERSION = @OSMESA_VERSION@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -POSIX_SHELL = @POSIX_SHELL@ -PTHREADSTUBS_CFLAGS = @PTHREADSTUBS_CFLAGS@ -PTHREADSTUBS_LIBS = @PTHREADSTUBS_LIBS@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -PWR8_CFLAGS = @PWR8_CFLAGS@ -PYTHON = @PYTHON@ -PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ -PYTHON_PLATFORM = @PYTHON_PLATFORM@ -PYTHON_PREFIX = @PYTHON_PREFIX@ -PYTHON_VERSION = @PYTHON_VERSION@ -RADEON_CFLAGS = @RADEON_CFLAGS@ -RADEON_LIBS = @RADEON_LIBS@ -RANLIB = @RANLIB@ -RM = @RM@ -SCANNER_ARG = @SCANNER_ARG@ -SED = @SED@ -SELINUX_CFLAGS = @SELINUX_CFLAGS@ -SELINUX_LIBS = @SELINUX_LIBS@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIMPENROSE_CFLAGS = @SIMPENROSE_CFLAGS@ -SIMPENROSE_LIBS = @SIMPENROSE_LIBS@ -SSE41_CFLAGS = @SSE41_CFLAGS@ -STRIP = @STRIP@ -SWR_AVX2_CXXFLAGS = @SWR_AVX2_CXXFLAGS@ -SWR_AVX_CXXFLAGS = @SWR_AVX_CXXFLAGS@ -SWR_KNL_CXXFLAGS = @SWR_KNL_CXXFLAGS@ -SWR_SKX_CXXFLAGS = @SWR_SKX_CXXFLAGS@ -V3D_SIMULATOR_CFLAGS = @V3D_SIMULATOR_CFLAGS@ -V3D_SIMULATOR_LIBS = @V3D_SIMULATOR_LIBS@ -VALGRIND_CFLAGS = @VALGRIND_CFLAGS@ -VALGRIND_LIBS = @VALGRIND_LIBS@ -VA_CFLAGS = @VA_CFLAGS@ -VA_LIBS = @VA_LIBS@ -VA_LIB_INSTALL_DIR = @VA_LIB_INSTALL_DIR@ -VA_MAJOR = @VA_MAJOR@ -VA_MINOR = @VA_MINOR@ -VC4_CFLAGS = @VC4_CFLAGS@ -VC4_LIBS = @VC4_LIBS@ -VDPAU_CFLAGS = @VDPAU_CFLAGS@ -VDPAU_LIBS = @VDPAU_LIBS@ -VDPAU_LIB_INSTALL_DIR = @VDPAU_LIB_INSTALL_DIR@ -VDPAU_MAJOR = @VDPAU_MAJOR@ -VDPAU_MINOR = @VDPAU_MINOR@ -VERSION = @VERSION@ -VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@ -VISIBILITY_CXXFLAGS = @VISIBILITY_CXXFLAGS@ -VL_CFLAGS = @VL_CFLAGS@ -VL_LIBS = @VL_LIBS@ -VULKAN_ICD_INSTALL_DIR = @VULKAN_ICD_INSTALL_DIR@ -WAYLAND_CLIENT_CFLAGS = @WAYLAND_CLIENT_CFLAGS@ -WAYLAND_CLIENT_LIBS = @WAYLAND_CLIENT_LIBS@ -WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ -WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@ -WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@ -WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@ -WAYLAND_SCANNER = @WAYLAND_SCANNER@ -WAYLAND_SCANNER_CFLAGS = @WAYLAND_SCANNER_CFLAGS@ -WAYLAND_SCANNER_LIBS = @WAYLAND_SCANNER_LIBS@ -WAYLAND_SERVER_CFLAGS = @WAYLAND_SERVER_CFLAGS@ -WAYLAND_SERVER_LIBS = @WAYLAND_SERVER_LIBS@ -WNO_OVERRIDE_INIT = @WNO_OVERRIDE_INIT@ -X11_INCLUDES = @X11_INCLUDES@ -XA_MAJOR = @XA_MAJOR@ -XA_MINOR = @XA_MINOR@ -XA_PATCH = @XA_PATCH@ -XA_VERSION = @XA_VERSION@ -XCB_DRI2_CFLAGS = @XCB_DRI2_CFLAGS@ -XCB_DRI2_LIBS = @XCB_DRI2_LIBS@ -XCB_DRI3_CFLAGS = @XCB_DRI3_CFLAGS@ -XCB_DRI3_LIBS = @XCB_DRI3_LIBS@ -XCB_DRI3_MODIFIERS_CFLAGS = @XCB_DRI3_MODIFIERS_CFLAGS@ -XCB_DRI3_MODIFIERS_LIBS = @XCB_DRI3_MODIFIERS_LIBS@ -XCB_RANDR_CFLAGS = @XCB_RANDR_CFLAGS@ -XCB_RANDR_LIBS = @XCB_RANDR_LIBS@ -XLIBGL_CFLAGS = @XLIBGL_CFLAGS@ -XLIBGL_LIBS = @XLIBGL_LIBS@ -XLIB_RANDR_CFLAGS = @XLIB_RANDR_CFLAGS@ -XLIB_RANDR_LIBS = @XLIB_RANDR_LIBS@ -XVMC_CFLAGS = @XVMC_CFLAGS@ -XVMC_LIBS = @XVMC_LIBS@ -XVMC_LIB_INSTALL_DIR = @XVMC_LIB_INSTALL_DIR@ -XVMC_MAJOR = @XVMC_MAJOR@ -XVMC_MINOR = @XVMC_MINOR@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -ZLIB_CFLAGS = @ZLIB_CFLAGS@ -ZLIB_LIBS = @ZLIB_LIBS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -acv_mako_found = @acv_mako_found@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -ifGNUmake = @ifGNUmake@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgpyexecdir = @pkgpyexecdir@ -pkgpythondir = @pkgpythondir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pyexecdir = @pyexecdir@ -pythondir = @pythondir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/include \ - -I$(top_builddir)/src \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/freedreno/ \ - -I$(top_srcdir)/src/gallium/auxiliary \ - -I$(top_srcdir)/src/gallium/include \ - $(DEFINES) - -AM_CFLAGS = \ - $(EXPAT_CFLAGS) - -drm_SOURCES := \ - drm/freedreno_bo.c \ - drm/freedreno_drmif.h \ - drm/freedreno_ringbuffer.c \ - drm/msm_bo.c \ - drm/msm_pipe.c \ - drm/msm_ringbuffer_sp.c \ - drm/freedreno_bo_cache.c \ - drm/freedreno_pipe.c \ - drm/freedreno_ringbuffer.h \ - drm/msm_device.c \ - drm/msm_priv.h \ - drm/freedreno_device.c \ - drm/freedreno_priv.h \ - drm/msm_ringbuffer.c - -ir3_SOURCES := \ - ir3/disasm-a3xx.c \ - ir3/instr-a3xx.h \ - ir3/ir3.c \ - ir3/ir3_a4xx.c \ - ir3/ir3_a6xx.c \ - ir3/ir3_compiler.c \ - ir3/ir3_compiler.h \ - ir3/ir3_compiler_nir.c \ - ir3/ir3_context.c \ - ir3/ir3_context.h \ - ir3/ir3_cp.c \ - ir3/ir3_depth.c \ - ir3/ir3_group.c \ - ir3/ir3_image.c \ - ir3/ir3_image.h \ - ir3/ir3.h \ - ir3/ir3_legalize.c \ - ir3/ir3_nir.c \ - ir3/ir3_nir.h \ - ir3/ir3_nir_analyze_ubo_ranges.c \ - ir3/ir3_nir_lower_load_barycentric_at_sample.c \ - ir3/ir3_nir_lower_load_barycentric_at_offset.c \ - ir3/ir3_nir_lower_io_offsets.c \ - ir3/ir3_nir_lower_tg4_to_tex.c \ - ir3/ir3_nir_move_varying_inputs.c \ - ir3/ir3_print.c \ - ir3/ir3_ra.c \ - ir3/ir3_sched.c \ - ir3/ir3_shader.c \ - ir3/ir3_shader.h \ - ir3/ir3_sun.c - -ir3_GENERATED_FILES := \ - ir3/ir3_nir_trig.c \ - ir3/ir3_nir_imul.c - -lib_LTLIBRARIES = -check_LTLIBRARIES = -noinst_DATA = -noinst_HEADERS = $(registers_FILES) -noinst_LTLIBRARIES = libfreedreno_drm.la libfreedreno_ir3.la -BUILT_SOURCES = -CLEANFILES = $(BUILT_SOURCES) -EXTRA_DIST = \ - meson.build \ - drm/meson.build \ - ir3/ir3_nir_trig.py \ - ir3/meson.build - -MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D) -PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS) -libfreedreno_drm_la_SOURCES = $(drm_SOURCES) -libfreedreno_drm_la_CFLAGS = $(VALGRIND_CFLAGS) $(LIBDRM_CFLAGS) -libfreedreno_ir3_la_SOURCES = $(ir3_SOURCES) $(ir3_GENERATED_FILES) -libfreedreno_ir3_la_CFLAGS = \ - -I$(top_srcdir)/src/freedreno/ir3 \ - -I$(top_builddir)/src/compiler/nir \ - -I$(top_srcdir)/src/compiler/nir - -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.sources $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/freedreno/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/freedreno/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/Makefile.sources: - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkLTLIBRARIES: - -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES) - @list='$(check_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -drm/$(am__dirstamp): - @$(MKDIR_P) drm - @: > drm/$(am__dirstamp) -drm/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) drm/$(DEPDIR) - @: > drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-freedreno_bo.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-freedreno_ringbuffer.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-msm_bo.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-msm_pipe.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-freedreno_bo_cache.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-freedreno_pipe.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-msm_device.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-freedreno_device.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -drm/libfreedreno_drm_la-msm_ringbuffer.lo: drm/$(am__dirstamp) \ - drm/$(DEPDIR)/$(am__dirstamp) -libfreedreno_drm.la: $(libfreedreno_drm_la_OBJECTS) $(libfreedreno_drm_la_DEPENDENCIES) $(EXTRA_libfreedreno_drm_la_DEPENDENCIES) - $(AM_V_CCLD)$(libfreedreno_drm_la_LINK) $(libfreedreno_drm_la_OBJECTS) $(libfreedreno_drm_la_LIBADD) $(LIBS) -ir3/$(am__dirstamp): - @$(MKDIR_P) ir3 - @: > ir3/$(am__dirstamp) -ir3/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) ir3/$(DEPDIR) - @: > ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-disasm-a3xx.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_a4xx.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_a6xx.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_compiler.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_context.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_cp.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_depth.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_group.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_image.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_legalize.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo: \ - ir3/$(am__dirstamp) ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo: \ - ir3/$(am__dirstamp) ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo: \ - ir3/$(am__dirstamp) ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo: \ - ir3/$(am__dirstamp) ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo: \ - ir3/$(am__dirstamp) ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo: \ - ir3/$(am__dirstamp) ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_print.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_ra.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_sched.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_shader.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_sun.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_trig.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -ir3/libfreedreno_ir3_la-ir3_nir_imul.lo: ir3/$(am__dirstamp) \ - ir3/$(DEPDIR)/$(am__dirstamp) -libfreedreno_ir3.la: $(libfreedreno_ir3_la_OBJECTS) $(libfreedreno_ir3_la_DEPENDENCIES) $(EXTRA_libfreedreno_ir3_la_DEPENDENCIES) - $(AM_V_CCLD)$(libfreedreno_ir3_la_LINK) $(libfreedreno_ir3_la_OBJECTS) $(libfreedreno_ir3_la_LIBADD) $(LIBS) - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f drm/*.$(OBJEXT) - -rm -f drm/*.lo - -rm -f ir3/*.$(OBJEXT) - -rm -f ir3/*.lo - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo_cache.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_device.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_pipe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_ringbuffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-msm_bo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-msm_device.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-msm_pipe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer_sp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-disasm-a3xx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a4xx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a6xx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler_nir.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_context.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_cp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_depth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_group.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_image.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_legalize.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_imul.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_trig.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_print.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_ra.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sched.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_shader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sun.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -drm/libfreedreno_drm_la-freedreno_bo.lo: drm/freedreno_bo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-freedreno_bo.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo.Tpo -c -o drm/libfreedreno_drm_la-freedreno_bo.lo `test -f 'drm/freedreno_bo.c' || echo '$(srcdir)/'`drm/freedreno_bo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/freedreno_bo.c' object='drm/libfreedreno_drm_la-freedreno_bo.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-freedreno_bo.lo `test -f 'drm/freedreno_bo.c' || echo '$(srcdir)/'`drm/freedreno_bo.c - -drm/libfreedreno_drm_la-freedreno_ringbuffer.lo: drm/freedreno_ringbuffer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-freedreno_ringbuffer.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_ringbuffer.Tpo -c -o drm/libfreedreno_drm_la-freedreno_ringbuffer.lo `test -f 'drm/freedreno_ringbuffer.c' || echo '$(srcdir)/'`drm/freedreno_ringbuffer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_ringbuffer.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_ringbuffer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/freedreno_ringbuffer.c' object='drm/libfreedreno_drm_la-freedreno_ringbuffer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-freedreno_ringbuffer.lo `test -f 'drm/freedreno_ringbuffer.c' || echo '$(srcdir)/'`drm/freedreno_ringbuffer.c - -drm/libfreedreno_drm_la-msm_bo.lo: drm/msm_bo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-msm_bo.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-msm_bo.Tpo -c -o drm/libfreedreno_drm_la-msm_bo.lo `test -f 'drm/msm_bo.c' || echo '$(srcdir)/'`drm/msm_bo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-msm_bo.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-msm_bo.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/msm_bo.c' object='drm/libfreedreno_drm_la-msm_bo.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-msm_bo.lo `test -f 'drm/msm_bo.c' || echo '$(srcdir)/'`drm/msm_bo.c - -drm/libfreedreno_drm_la-msm_pipe.lo: drm/msm_pipe.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-msm_pipe.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-msm_pipe.Tpo -c -o drm/libfreedreno_drm_la-msm_pipe.lo `test -f 'drm/msm_pipe.c' || echo '$(srcdir)/'`drm/msm_pipe.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-msm_pipe.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-msm_pipe.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/msm_pipe.c' object='drm/libfreedreno_drm_la-msm_pipe.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-msm_pipe.lo `test -f 'drm/msm_pipe.c' || echo '$(srcdir)/'`drm/msm_pipe.c - -drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo: drm/msm_ringbuffer_sp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer_sp.Tpo -c -o drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo `test -f 'drm/msm_ringbuffer_sp.c' || echo '$(srcdir)/'`drm/msm_ringbuffer_sp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer_sp.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer_sp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/msm_ringbuffer_sp.c' object='drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-msm_ringbuffer_sp.lo `test -f 'drm/msm_ringbuffer_sp.c' || echo '$(srcdir)/'`drm/msm_ringbuffer_sp.c - -drm/libfreedreno_drm_la-freedreno_bo_cache.lo: drm/freedreno_bo_cache.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-freedreno_bo_cache.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo_cache.Tpo -c -o drm/libfreedreno_drm_la-freedreno_bo_cache.lo `test -f 'drm/freedreno_bo_cache.c' || echo '$(srcdir)/'`drm/freedreno_bo_cache.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo_cache.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_bo_cache.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/freedreno_bo_cache.c' object='drm/libfreedreno_drm_la-freedreno_bo_cache.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-freedreno_bo_cache.lo `test -f 'drm/freedreno_bo_cache.c' || echo '$(srcdir)/'`drm/freedreno_bo_cache.c - -drm/libfreedreno_drm_la-freedreno_pipe.lo: drm/freedreno_pipe.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-freedreno_pipe.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_pipe.Tpo -c -o drm/libfreedreno_drm_la-freedreno_pipe.lo `test -f 'drm/freedreno_pipe.c' || echo '$(srcdir)/'`drm/freedreno_pipe.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_pipe.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_pipe.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/freedreno_pipe.c' object='drm/libfreedreno_drm_la-freedreno_pipe.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-freedreno_pipe.lo `test -f 'drm/freedreno_pipe.c' || echo '$(srcdir)/'`drm/freedreno_pipe.c - -drm/libfreedreno_drm_la-msm_device.lo: drm/msm_device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-msm_device.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-msm_device.Tpo -c -o drm/libfreedreno_drm_la-msm_device.lo `test -f 'drm/msm_device.c' || echo '$(srcdir)/'`drm/msm_device.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-msm_device.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-msm_device.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/msm_device.c' object='drm/libfreedreno_drm_la-msm_device.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-msm_device.lo `test -f 'drm/msm_device.c' || echo '$(srcdir)/'`drm/msm_device.c - -drm/libfreedreno_drm_la-freedreno_device.lo: drm/freedreno_device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-freedreno_device.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_device.Tpo -c -o drm/libfreedreno_drm_la-freedreno_device.lo `test -f 'drm/freedreno_device.c' || echo '$(srcdir)/'`drm/freedreno_device.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_device.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-freedreno_device.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/freedreno_device.c' object='drm/libfreedreno_drm_la-freedreno_device.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-freedreno_device.lo `test -f 'drm/freedreno_device.c' || echo '$(srcdir)/'`drm/freedreno_device.c - -drm/libfreedreno_drm_la-msm_ringbuffer.lo: drm/msm_ringbuffer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -MT drm/libfreedreno_drm_la-msm_ringbuffer.lo -MD -MP -MF drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer.Tpo -c -o drm/libfreedreno_drm_la-msm_ringbuffer.lo `test -f 'drm/msm_ringbuffer.c' || echo '$(srcdir)/'`drm/msm_ringbuffer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer.Tpo drm/$(DEPDIR)/libfreedreno_drm_la-msm_ringbuffer.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='drm/msm_ringbuffer.c' object='drm/libfreedreno_drm_la-msm_ringbuffer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_drm_la_CFLAGS) $(CFLAGS) -c -o drm/libfreedreno_drm_la-msm_ringbuffer.lo `test -f 'drm/msm_ringbuffer.c' || echo '$(srcdir)/'`drm/msm_ringbuffer.c - -ir3/libfreedreno_ir3_la-disasm-a3xx.lo: ir3/disasm-a3xx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-disasm-a3xx.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-disasm-a3xx.Tpo -c -o ir3/libfreedreno_ir3_la-disasm-a3xx.lo `test -f 'ir3/disasm-a3xx.c' || echo '$(srcdir)/'`ir3/disasm-a3xx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-disasm-a3xx.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-disasm-a3xx.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/disasm-a3xx.c' object='ir3/libfreedreno_ir3_la-disasm-a3xx.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-disasm-a3xx.lo `test -f 'ir3/disasm-a3xx.c' || echo '$(srcdir)/'`ir3/disasm-a3xx.c - -ir3/libfreedreno_ir3_la-ir3.lo: ir3/ir3.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3.Tpo -c -o ir3/libfreedreno_ir3_la-ir3.lo `test -f 'ir3/ir3.c' || echo '$(srcdir)/'`ir3/ir3.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3.c' object='ir3/libfreedreno_ir3_la-ir3.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3.lo `test -f 'ir3/ir3.c' || echo '$(srcdir)/'`ir3/ir3.c - -ir3/libfreedreno_ir3_la-ir3_a4xx.lo: ir3/ir3_a4xx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_a4xx.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a4xx.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_a4xx.lo `test -f 'ir3/ir3_a4xx.c' || echo '$(srcdir)/'`ir3/ir3_a4xx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a4xx.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a4xx.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_a4xx.c' object='ir3/libfreedreno_ir3_la-ir3_a4xx.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_a4xx.lo `test -f 'ir3/ir3_a4xx.c' || echo '$(srcdir)/'`ir3/ir3_a4xx.c - -ir3/libfreedreno_ir3_la-ir3_a6xx.lo: ir3/ir3_a6xx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_a6xx.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a6xx.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_a6xx.lo `test -f 'ir3/ir3_a6xx.c' || echo '$(srcdir)/'`ir3/ir3_a6xx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a6xx.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_a6xx.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_a6xx.c' object='ir3/libfreedreno_ir3_la-ir3_a6xx.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_a6xx.lo `test -f 'ir3/ir3_a6xx.c' || echo '$(srcdir)/'`ir3/ir3_a6xx.c - -ir3/libfreedreno_ir3_la-ir3_compiler.lo: ir3/ir3_compiler.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_compiler.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_compiler.lo `test -f 'ir3/ir3_compiler.c' || echo '$(srcdir)/'`ir3/ir3_compiler.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_compiler.c' object='ir3/libfreedreno_ir3_la-ir3_compiler.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_compiler.lo `test -f 'ir3/ir3_compiler.c' || echo '$(srcdir)/'`ir3/ir3_compiler.c - -ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo: ir3/ir3_compiler_nir.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler_nir.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo `test -f 'ir3/ir3_compiler_nir.c' || echo '$(srcdir)/'`ir3/ir3_compiler_nir.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler_nir.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_compiler_nir.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_compiler_nir.c' object='ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_compiler_nir.lo `test -f 'ir3/ir3_compiler_nir.c' || echo '$(srcdir)/'`ir3/ir3_compiler_nir.c - -ir3/libfreedreno_ir3_la-ir3_context.lo: ir3/ir3_context.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_context.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_context.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_context.lo `test -f 'ir3/ir3_context.c' || echo '$(srcdir)/'`ir3/ir3_context.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_context.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_context.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_context.c' object='ir3/libfreedreno_ir3_la-ir3_context.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_context.lo `test -f 'ir3/ir3_context.c' || echo '$(srcdir)/'`ir3/ir3_context.c - -ir3/libfreedreno_ir3_la-ir3_cp.lo: ir3/ir3_cp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_cp.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_cp.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_cp.lo `test -f 'ir3/ir3_cp.c' || echo '$(srcdir)/'`ir3/ir3_cp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_cp.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_cp.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_cp.c' object='ir3/libfreedreno_ir3_la-ir3_cp.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_cp.lo `test -f 'ir3/ir3_cp.c' || echo '$(srcdir)/'`ir3/ir3_cp.c - -ir3/libfreedreno_ir3_la-ir3_depth.lo: ir3/ir3_depth.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_depth.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_depth.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_depth.lo `test -f 'ir3/ir3_depth.c' || echo '$(srcdir)/'`ir3/ir3_depth.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_depth.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_depth.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_depth.c' object='ir3/libfreedreno_ir3_la-ir3_depth.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_depth.lo `test -f 'ir3/ir3_depth.c' || echo '$(srcdir)/'`ir3/ir3_depth.c - -ir3/libfreedreno_ir3_la-ir3_group.lo: ir3/ir3_group.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_group.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_group.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_group.lo `test -f 'ir3/ir3_group.c' || echo '$(srcdir)/'`ir3/ir3_group.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_group.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_group.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_group.c' object='ir3/libfreedreno_ir3_la-ir3_group.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_group.lo `test -f 'ir3/ir3_group.c' || echo '$(srcdir)/'`ir3/ir3_group.c - -ir3/libfreedreno_ir3_la-ir3_image.lo: ir3/ir3_image.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_image.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_image.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_image.lo `test -f 'ir3/ir3_image.c' || echo '$(srcdir)/'`ir3/ir3_image.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_image.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_image.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_image.c' object='ir3/libfreedreno_ir3_la-ir3_image.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_image.lo `test -f 'ir3/ir3_image.c' || echo '$(srcdir)/'`ir3/ir3_image.c - -ir3/libfreedreno_ir3_la-ir3_legalize.lo: ir3/ir3_legalize.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_legalize.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_legalize.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_legalize.lo `test -f 'ir3/ir3_legalize.c' || echo '$(srcdir)/'`ir3/ir3_legalize.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_legalize.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_legalize.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_legalize.c' object='ir3/libfreedreno_ir3_la-ir3_legalize.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_legalize.lo `test -f 'ir3/ir3_legalize.c' || echo '$(srcdir)/'`ir3/ir3_legalize.c - -ir3/libfreedreno_ir3_la-ir3_nir.lo: ir3/ir3_nir.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir.lo `test -f 'ir3/ir3_nir.c' || echo '$(srcdir)/'`ir3/ir3_nir.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir.c' object='ir3/libfreedreno_ir3_la-ir3_nir.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir.lo `test -f 'ir3/ir3_nir.c' || echo '$(srcdir)/'`ir3/ir3_nir.c - -ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo: ir3/ir3_nir_analyze_ubo_ranges.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo `test -f 'ir3/ir3_nir_analyze_ubo_ranges.c' || echo '$(srcdir)/'`ir3/ir3_nir_analyze_ubo_ranges.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_analyze_ubo_ranges.c' object='ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_analyze_ubo_ranges.lo `test -f 'ir3/ir3_nir_analyze_ubo_ranges.c' || echo '$(srcdir)/'`ir3/ir3_nir_analyze_ubo_ranges.c - -ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo: ir3/ir3_nir_lower_load_barycentric_at_sample.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo `test -f 'ir3/ir3_nir_lower_load_barycentric_at_sample.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_load_barycentric_at_sample.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_lower_load_barycentric_at_sample.c' object='ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_sample.lo `test -f 'ir3/ir3_nir_lower_load_barycentric_at_sample.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_load_barycentric_at_sample.c - -ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo: ir3/ir3_nir_lower_load_barycentric_at_offset.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo `test -f 'ir3/ir3_nir_lower_load_barycentric_at_offset.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_load_barycentric_at_offset.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_lower_load_barycentric_at_offset.c' object='ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_load_barycentric_at_offset.lo `test -f 'ir3/ir3_nir_lower_load_barycentric_at_offset.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_load_barycentric_at_offset.c - -ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo: ir3/ir3_nir_lower_io_offsets.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo `test -f 'ir3/ir3_nir_lower_io_offsets.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_io_offsets.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_lower_io_offsets.c' object='ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_io_offsets.lo `test -f 'ir3/ir3_nir_lower_io_offsets.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_io_offsets.c - -ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo: ir3/ir3_nir_lower_tg4_to_tex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo `test -f 'ir3/ir3_nir_lower_tg4_to_tex.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_tg4_to_tex.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_lower_tg4_to_tex.c' object='ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_lower_tg4_to_tex.lo `test -f 'ir3/ir3_nir_lower_tg4_to_tex.c' || echo '$(srcdir)/'`ir3/ir3_nir_lower_tg4_to_tex.c - -ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo: ir3/ir3_nir_move_varying_inputs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo `test -f 'ir3/ir3_nir_move_varying_inputs.c' || echo '$(srcdir)/'`ir3/ir3_nir_move_varying_inputs.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_move_varying_inputs.c' object='ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_move_varying_inputs.lo `test -f 'ir3/ir3_nir_move_varying_inputs.c' || echo '$(srcdir)/'`ir3/ir3_nir_move_varying_inputs.c - -ir3/libfreedreno_ir3_la-ir3_print.lo: ir3/ir3_print.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_print.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_print.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_print.lo `test -f 'ir3/ir3_print.c' || echo '$(srcdir)/'`ir3/ir3_print.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_print.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_print.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_print.c' object='ir3/libfreedreno_ir3_la-ir3_print.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_print.lo `test -f 'ir3/ir3_print.c' || echo '$(srcdir)/'`ir3/ir3_print.c - -ir3/libfreedreno_ir3_la-ir3_ra.lo: ir3/ir3_ra.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_ra.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_ra.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_ra.lo `test -f 'ir3/ir3_ra.c' || echo '$(srcdir)/'`ir3/ir3_ra.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_ra.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_ra.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_ra.c' object='ir3/libfreedreno_ir3_la-ir3_ra.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_ra.lo `test -f 'ir3/ir3_ra.c' || echo '$(srcdir)/'`ir3/ir3_ra.c - -ir3/libfreedreno_ir3_la-ir3_sched.lo: ir3/ir3_sched.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_sched.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sched.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_sched.lo `test -f 'ir3/ir3_sched.c' || echo '$(srcdir)/'`ir3/ir3_sched.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sched.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sched.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_sched.c' object='ir3/libfreedreno_ir3_la-ir3_sched.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_sched.lo `test -f 'ir3/ir3_sched.c' || echo '$(srcdir)/'`ir3/ir3_sched.c - -ir3/libfreedreno_ir3_la-ir3_shader.lo: ir3/ir3_shader.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_shader.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_shader.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_shader.lo `test -f 'ir3/ir3_shader.c' || echo '$(srcdir)/'`ir3/ir3_shader.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_shader.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_shader.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_shader.c' object='ir3/libfreedreno_ir3_la-ir3_shader.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_shader.lo `test -f 'ir3/ir3_shader.c' || echo '$(srcdir)/'`ir3/ir3_shader.c - -ir3/libfreedreno_ir3_la-ir3_sun.lo: ir3/ir3_sun.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_sun.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sun.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_sun.lo `test -f 'ir3/ir3_sun.c' || echo '$(srcdir)/'`ir3/ir3_sun.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sun.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_sun.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_sun.c' object='ir3/libfreedreno_ir3_la-ir3_sun.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_sun.lo `test -f 'ir3/ir3_sun.c' || echo '$(srcdir)/'`ir3/ir3_sun.c - -ir3/libfreedreno_ir3_la-ir3_nir_trig.lo: ir3/ir3_nir_trig.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_trig.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_trig.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_trig.lo `test -f 'ir3/ir3_nir_trig.c' || echo '$(srcdir)/'`ir3/ir3_nir_trig.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_trig.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_trig.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_trig.c' object='ir3/libfreedreno_ir3_la-ir3_nir_trig.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_trig.lo `test -f 'ir3/ir3_nir_trig.c' || echo '$(srcdir)/'`ir3/ir3_nir_trig.c - -ir3/libfreedreno_ir3_la-ir3_nir_imul.lo: ir3/ir3_nir_imul.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -MT ir3/libfreedreno_ir3_la-ir3_nir_imul.lo -MD -MP -MF ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_imul.Tpo -c -o ir3/libfreedreno_ir3_la-ir3_nir_imul.lo `test -f 'ir3/ir3_nir_imul.c' || echo '$(srcdir)/'`ir3/ir3_nir_imul.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_imul.Tpo ir3/$(DEPDIR)/libfreedreno_ir3_la-ir3_nir_imul.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ir3/ir3_nir_imul.c' object='ir3/libfreedreno_ir3_la-ir3_nir_imul.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreedreno_ir3_la_CFLAGS) $(CFLAGS) -c -o ir3/libfreedreno_ir3_la-ir3_nir_imul.lo `test -f 'ir3/ir3_nir_imul.c' || echo '$(srcdir)/'`ir3/ir3_nir_imul.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf drm/.libs drm/_libs - -rm -rf ir3/.libs ir3/_libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ - else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - fi; \ - echo "$${col}$$dashes$${std}"; \ - echo "$${col}$$banner$${std}"; \ - test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ - test -z "$$report" || echo "$${col}$$report$${std}"; \ - echo "$${col}$$dashes$${std}"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f drm/$(DEPDIR)/$(am__dirstamp) - -rm -f drm/$(am__dirstamp) - -rm -f ir3/$(DEPDIR)/$(am__dirstamp) - -rm -f ir3/$(am__dirstamp) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -rf drm/$(DEPDIR) ir3/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf drm/$(DEPDIR) ir3/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES - -.MAKE: all check check-am install install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ - clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS cscopelist ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am \ - install-libLTLIBRARIES install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-libLTLIBRARIES - - -ir3/ir3_nir_trig.c: ir3/ir3_nir_trig.py $(top_srcdir)/src/compiler/nir/nir_algebraic.py - $(MKDIR_GEN) - $(AM_V_GEN) $(PYTHON) $(PYTHON_FLAGS) $(srcdir)/ir3/ir3_nir_trig.py -p $(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false) - -ir3/ir3_nir_imul.c: ir3/ir3_nir_imul.py $(top_srcdir)/src/compiler/nir/nir_algebraic.py - $(MKDIR_GEN) - $(AM_V_GEN) $(PYTHON) $(PYTHON_FLAGS) $(srcdir)/ir3/ir3_nir_imul.py -p $(top_srcdir)/src/compiler/nir > $@ || ($(RM) $@; false) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/lib/mesa/src/freedreno/ir3/ir3_depth.c b/lib/mesa/src/freedreno/ir3/ir3_depth.c deleted file mode 100644 index e0500b431..000000000 --- a/lib/mesa/src/freedreno/ir3/ir3_depth.c +++ /dev/null @@ -1,272 +0,0 @@ -/* - * Copyright (C) 2014 Rob Clark <robclark@freedesktop.org> - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Authors: - * Rob Clark <robclark@freedesktop.org> - */ - -#include "util/u_math.h" - -#include "ir3.h" - -/* - * Instruction Depth: - * - * Calculates weighted instruction depth, ie. the sum of # of needed - * instructions plus delay slots back to original input (ie INPUT or - * CONST). That is to say, an instructions depth is: - * - * depth(instr) { - * d = 0; - * // for each src register: - * foreach (src in instr->regs[1..n]) - * d = max(d, delayslots(src->instr, n) + depth(src->instr)); - * return d + 1; - * } - * - * After an instruction's depth is calculated, it is inserted into the - * blocks depth sorted list, which is used by the scheduling pass. - */ - -/* generally don't count false dependencies, since this can just be - * something like a barrier, or SSBO store. The exception is array - * dependencies if the assigner is an array write and the consumer - * reads the same array. - */ -static bool -ignore_dep(struct ir3_instruction *assigner, - struct ir3_instruction *consumer, unsigned n) -{ - if (!__is_false_dep(consumer, n)) - return false; - - if (assigner->barrier_class & IR3_BARRIER_ARRAY_W) { - struct ir3_register *dst = assigner->regs[0]; - struct ir3_register *src; - - debug_assert(dst->flags & IR3_REG_ARRAY); - - foreach_src(src, consumer) { - if ((src->flags & IR3_REG_ARRAY) && - (dst->array.id == src->array.id)) { - return false; - } - } - } - - return true; -} - -/* calculate required # of delay slots between the instruction that - * assigns a value and the one that consumes - */ -int ir3_delayslots(struct ir3_instruction *assigner, - struct ir3_instruction *consumer, unsigned n) -{ - if (ignore_dep(assigner, consumer, n)) - return 0; - - /* worst case is cat1-3 (alu) -> cat4/5 needing 6 cycles, normal - * alu -> alu needs 3 cycles, cat4 -> alu and texture fetch - * handled with sync bits - */ - - if (is_meta(assigner)) - return 0; - - if (writes_addr(assigner)) - return 6; - - /* handled via sync flags: */ - if (is_sfu(assigner) || is_tex(assigner) || is_mem(assigner)) - return 0; - - /* assigner must be alu: */ - if (is_flow(consumer) || is_sfu(consumer) || is_tex(consumer) || - is_mem(consumer)) { - return 6; - } else if ((is_mad(consumer->opc) || is_madsh(consumer->opc)) && - (n == 3)) { - /* special case, 3rd src to cat3 not required on first cycle */ - return 1; - } else { - return 3; - } -} - -void -ir3_insert_by_depth(struct ir3_instruction *instr, struct list_head *list) -{ - /* remove from existing spot in list: */ - list_delinit(&instr->node); - - /* find where to re-insert instruction: */ - list_for_each_entry (struct ir3_instruction, pos, list, node) { - if (pos->depth > instr->depth) { - list_add(&instr->node, &pos->node); - return; - } - } - /* if we get here, we didn't find an insertion spot: */ - list_addtail(&instr->node, list); -} - -static void -ir3_instr_depth(struct ir3_instruction *instr, unsigned boost, bool falsedep) -{ - struct ir3_instruction *src; - - /* don't mark falsedep's as used, but otherwise process them normally: */ - if (!falsedep) - instr->flags &= ~IR3_INSTR_UNUSED; - - if (ir3_instr_check_mark(instr)) - return; - - instr->depth = 0; - - foreach_ssa_src_n(src, i, instr) { - unsigned sd; - - /* visit child to compute it's depth: */ - ir3_instr_depth(src, boost, __is_false_dep(instr, i)); - - /* for array writes, no need to delay on previous write: */ - if (i == 0) - continue; - - sd = ir3_delayslots(src, instr, i) + src->depth; - sd += boost; - - instr->depth = MAX2(instr->depth, sd); - } - - if (!is_meta(instr)) - instr->depth++; - - ir3_insert_by_depth(instr, &instr->block->instr_list); -} - -static bool -remove_unused_by_block(struct ir3_block *block) -{ - bool progress = false; - list_for_each_entry_safe (struct ir3_instruction, instr, &block->instr_list, node) { - if (instr->opc == OPC_END) - continue; - if (instr->flags & IR3_INSTR_UNUSED) { - if (instr->opc == OPC_META_FO) { - struct ir3_instruction *src = ssa(instr->regs[1]); - /* leave inputs alone.. we can't optimize out components of - * an input, since the hw is still going to be writing all - * of the components, and we could end up in a situation - * where multiple inputs overlap. - */ - if ((src->opc != OPC_META_INPUT) && - (src->regs[0]->wrmask > 1)) { - src->regs[0]->wrmask &= ~(1 << instr->fo.off); - - /* prune no-longer needed right-neighbors. We could - * probably do the same for left-neighbors (ie. tex - * fetch that only need .yw components), but that - * makes RA a bit more confusing than it already is - */ - struct ir3_instruction *n = instr; - while (n && n->cp.right) - n = n->cp.right; - while (n->flags & IR3_INSTR_UNUSED) { - n = n->cp.left; - if (!n) - break; - n->cp.right = NULL; - } - } - } - list_delinit(&instr->node); - progress = true; - } - } - return progress; -} - -static bool -compute_depth_and_remove_unused(struct ir3 *ir) -{ - unsigned i; - bool progress = false; - - ir3_clear_mark(ir); - - /* initially mark everything as unused, we'll clear the flag as we - * visit the instructions: - */ - list_for_each_entry (struct ir3_block, block, &ir->block_list, node) { - list_for_each_entry (struct ir3_instruction, instr, &block->instr_list, node) { - instr->flags |= IR3_INSTR_UNUSED; - } - } - - for (i = 0; i < ir->noutputs; i++) - if (ir->outputs[i]) - ir3_instr_depth(ir->outputs[i], 0, false); - - list_for_each_entry (struct ir3_block, block, &ir->block_list, node) { - for (i = 0; i < block->keeps_count; i++) - ir3_instr_depth(block->keeps[i], 0, false); - - /* We also need to account for if-condition: */ - if (block->condition) - ir3_instr_depth(block->condition, 6, false); - } - - /* mark un-used instructions: */ - list_for_each_entry (struct ir3_block, block, &ir->block_list, node) { - progress |= remove_unused_by_block(block); - } - - /* note that we can end up with unused indirects, but we should - * not end up with unused predicates. - */ - for (i = 0; i < ir->indirects_count; i++) { - struct ir3_instruction *instr = ir->indirects[i]; - if (instr && (instr->flags & IR3_INSTR_UNUSED)) - ir->indirects[i] = NULL; - } - - /* cleanup unused inputs: */ - for (i = 0; i < ir->ninputs; i++) { - struct ir3_instruction *in = ir->inputs[i]; - if (in && (in->flags & IR3_INSTR_UNUSED)) - ir->inputs[i] = NULL; - } - - return progress; -} - -void -ir3_depth(struct ir3 *ir) -{ - bool progress; - do { - progress = compute_depth_and_remove_unused(ir); - } while (progress); -} diff --git a/lib/mesa/src/freedreno/ir3/ir3_nir_imul.c b/lib/mesa/src/freedreno/ir3/ir3_nir_imul.c deleted file mode 100644 index 10501820c..000000000 --- a/lib/mesa/src/freedreno/ir3/ir3_nir_imul.c +++ /dev/null @@ -1,252 +0,0 @@ -#include "ir3_nir.h" - -#include "nir.h" -#include "nir_builder.h" -#include "nir_search.h" -#include "nir_search_helpers.h" - -/* What follows is NIR algebraic transform code for the following 1 - * transforms: - * ('imul', 'a@32', 'b@32') => ('imadsh_mix16', 'b', 'a', ('imadsh_mix16', 'a', 'b', ('umul_low', 'a', 'b'))) - */ - -#ifndef NIR_OPT_ALGEBRAIC_STRUCT_DEFS -#define NIR_OPT_ALGEBRAIC_STRUCT_DEFS - -struct transform { - const nir_search_expression *search; - const nir_search_value *replace; - unsigned condition_offset; -}; - -struct per_op_table { - const uint16_t *filter; - unsigned num_filtered_states; - const uint16_t *table; -}; - -/* Note: these must match the start states created in - * TreeAutomaton._build_table() - */ - -/* WILDCARD_STATE = 0 is set by zeroing the state array */ -static const uint16_t CONST_STATE = 1; - -#endif - - - static const nir_search_variable search0_0 = { - { nir_search_value_variable, 32 }, - 0, /* a */ - false, - nir_type_invalid, - NULL, - {0, 1, 2, 3}, -}; - -static const nir_search_variable search0_1 = { - { nir_search_value_variable, 32 }, - 1, /* b */ - false, - nir_type_invalid, - NULL, - {0, 1, 2, 3}, -}; -static const nir_search_expression search0 = { - { nir_search_value_expression, 32 }, - false, false, - 0, 1, - nir_op_imul, - { &search0_0.value, &search0_1.value }, - NULL, -}; - - /* replace0_0 -> search0_1 in the cache */ - -/* replace0_1 -> search0_0 in the cache */ - -/* replace0_2_0 -> search0_0 in the cache */ - -/* replace0_2_1 -> search0_1 in the cache */ - -/* replace0_2_2_0 -> search0_0 in the cache */ - -/* replace0_2_2_1 -> search0_1 in the cache */ -static const nir_search_expression replace0_2_2 = { - { nir_search_value_expression, 32 }, - false, false, - 0, 1, - nir_op_umul_low, - { &search0_0.value, &search0_1.value }, - NULL, -}; -static const nir_search_expression replace0_2 = { - { nir_search_value_expression, 32 }, - false, false, - -1, 1, - nir_op_imadsh_mix16, - { &search0_0.value, &search0_1.value, &replace0_2_2.value }, - NULL, -}; -static const nir_search_expression replace0 = { - { nir_search_value_expression, 32 }, - false, false, - -1, 1, - nir_op_imadsh_mix16, - { &search0_1.value, &search0_0.value, &replace0_2.value }, - NULL, -}; - - -static const struct transform ir3_nir_lower_imul_state2_xforms[] = { - { &search0, &replace0.value, 0 }, -}; - -static const struct per_op_table ir3_nir_lower_imul_table[nir_num_search_ops] = { - [nir_op_imul] = { - .filter = (uint16_t []) { - 0, - 0, - 0, - }, - - .num_filtered_states = 1, - .table = (uint16_t []) { - - 2, - }, - }, -}; - -static void -ir3_nir_lower_imul_pre_block(nir_block *block, uint16_t *states) -{ - nir_foreach_instr(instr, block) { - switch (instr->type) { - case nir_instr_type_alu: { - nir_alu_instr *alu = nir_instr_as_alu(instr); - nir_op op = alu->op; - uint16_t search_op = nir_search_op_for_nir_op(op); - const struct per_op_table *tbl = &ir3_nir_lower_imul_table[search_op]; - if (tbl->num_filtered_states == 0) - continue; - - /* Calculate the index into the transition table. Note the index - * calculated must match the iteration order of Python's - * itertools.product(), which was used to emit the transition - * table. - */ - uint16_t index = 0; - for (unsigned i = 0; i < nir_op_infos[op].num_inputs; i++) { - index *= tbl->num_filtered_states; - index += tbl->filter[states[alu->src[i].src.ssa->index]]; - } - states[alu->dest.dest.ssa.index] = tbl->table[index]; - break; - } - - case nir_instr_type_load_const: { - nir_load_const_instr *load_const = nir_instr_as_load_const(instr); - states[load_const->def.index] = CONST_STATE; - break; - } - - default: - break; - } - } -} - -static bool -ir3_nir_lower_imul_block(nir_builder *build, nir_block *block, - const uint16_t *states, const bool *condition_flags) -{ - bool progress = false; - - nir_foreach_instr_reverse_safe(instr, block) { - if (instr->type != nir_instr_type_alu) - continue; - - nir_alu_instr *alu = nir_instr_as_alu(instr); - if (!alu->dest.dest.is_ssa) - continue; - - switch (states[alu->dest.dest.ssa.index]) { - case 0: - break; - case 1: - break; - case 2: - for (unsigned i = 0; i < ARRAY_SIZE(ir3_nir_lower_imul_state2_xforms); i++) { - const struct transform *xform = &ir3_nir_lower_imul_state2_xforms[i]; - if (condition_flags[xform->condition_offset] && - nir_replace_instr(build, alu, xform->search, xform->replace)) { - progress = true; - break; - } - } - break; - default: assert(0); - } - } - - return progress; -} - -static bool -ir3_nir_lower_imul_impl(nir_function_impl *impl, const bool *condition_flags) -{ - bool progress = false; - - nir_builder build; - nir_builder_init(&build, impl); - - /* Note: it's important here that we're allocating a zeroed array, since - * state 0 is the default state, which means we don't have to visit - * anything other than constants and ALU instructions. - */ - uint16_t *states = calloc(impl->ssa_alloc, sizeof(*states)); - - nir_foreach_block(block, impl) { - ir3_nir_lower_imul_pre_block(block, states); - } - - nir_foreach_block_reverse(block, impl) { - progress |= ir3_nir_lower_imul_block(&build, block, states, condition_flags); - } - - free(states); - - if (progress) { - nir_metadata_preserve(impl, nir_metadata_block_index | - nir_metadata_dominance); - } else { -#ifndef NDEBUG - impl->valid_metadata &= ~nir_metadata_not_properly_reset; -#endif - } - - return progress; -} - - -bool -ir3_nir_lower_imul(nir_shader *shader) -{ - bool progress = false; - bool condition_flags[1]; - const nir_shader_compiler_options *options = shader->options; - const shader_info *info = &shader->info; - (void) options; - (void) info; - - condition_flags[0] = true; - - nir_foreach_function(function, shader) { - if (function->impl) - progress |= ir3_nir_lower_imul_impl(function->impl, condition_flags); - } - - return progress; -} - diff --git a/lib/mesa/src/freedreno/ir3/ir3_nir_trig.c b/lib/mesa/src/freedreno/ir3/ir3_nir_trig.c deleted file mode 100644 index 91f18aad6..000000000 --- a/lib/mesa/src/freedreno/ir3/ir3_nir_trig.c +++ /dev/null @@ -1,339 +0,0 @@ -#include "ir3_nir.h" - -#include "nir.h" -#include "nir_builder.h" -#include "nir_search.h" -#include "nir_search_helpers.h" - -/* What follows is NIR algebraic transform code for the following 2 - * transforms: - * ('fsin', 'x') => ('fsin', ('fsub', ('fmul', 6.2831853, ('ffract', ('fadd', ('fmul', 0.15915494, 'x'), 0.5))), 3.14159265)) - * ('fcos', 'x') => ('fcos', ('fsub', ('fmul', 6.2831853, ('ffract', ('fadd', ('fmul', 0.15915494, 'x'), 0.5))), 3.14159265)) - */ - -#ifndef NIR_OPT_ALGEBRAIC_STRUCT_DEFS -#define NIR_OPT_ALGEBRAIC_STRUCT_DEFS - -struct transform { - const nir_search_expression *search; - const nir_search_value *replace; - unsigned condition_offset; -}; - -struct per_op_table { - const uint16_t *filter; - unsigned num_filtered_states; - const uint16_t *table; -}; - -/* Note: these must match the start states created in - * TreeAutomaton._build_table() - */ - -/* WILDCARD_STATE = 0 is set by zeroing the state array */ -static const uint16_t CONST_STATE = 1; - -#endif - - - static const nir_search_variable search0_0 = { - { nir_search_value_variable, -1 }, - 0, /* x */ - false, - nir_type_invalid, - NULL, - {0, 1, 2, 3}, -}; -static const nir_search_expression search0 = { - { nir_search_value_expression, -1 }, - false, false, - -1, 0, - nir_op_fsin, - { &search0_0.value }, - NULL, -}; - - static const nir_search_constant replace0_0_0_0 = { - { nir_search_value_constant, -1 }, - nir_type_float, { 0x401921fb53c8d4f1 /* 6.2831853 */ }, -}; - -static const nir_search_constant replace0_0_0_1_0_0_0 = { - { nir_search_value_constant, -1 }, - nir_type_float, { 0x3fc45f306725feed /* 0.15915494 */ }, -}; - -/* replace0_0_0_1_0_0_1 -> search0_0 in the cache */ -static const nir_search_expression replace0_0_0_1_0_0 = { - { nir_search_value_expression, -1 }, - false, false, - 2, 1, - nir_op_fmul, - { &replace0_0_0_1_0_0_0.value, &search0_0.value }, - NULL, -}; - -static const nir_search_constant replace0_0_0_1_0_1 = { - { nir_search_value_constant, -1 }, - nir_type_float, { 0x3fe0000000000000 /* 0.5 */ }, -}; -static const nir_search_expression replace0_0_0_1_0 = { - { nir_search_value_expression, -1 }, - false, false, - 1, 2, - nir_op_fadd, - { &replace0_0_0_1_0_0.value, &replace0_0_0_1_0_1.value }, - NULL, -}; -static const nir_search_expression replace0_0_0_1 = { - { nir_search_value_expression, -1 }, - false, false, - -1, 2, - nir_op_ffract, - { &replace0_0_0_1_0.value }, - NULL, -}; -static const nir_search_expression replace0_0_0 = { - { nir_search_value_expression, -1 }, - false, false, - 0, 3, - nir_op_fmul, - { &replace0_0_0_0.value, &replace0_0_0_1.value }, - NULL, -}; - -static const nir_search_constant replace0_0_1 = { - { nir_search_value_constant, -1 }, - nir_type_float, { 0x400921fb53c8d4f1 /* 3.14159265 */ }, -}; -static const nir_search_expression replace0_0 = { - { nir_search_value_expression, -1 }, - false, false, - -1, 3, - nir_op_fsub, - { &replace0_0_0.value, &replace0_0_1.value }, - NULL, -}; -static const nir_search_expression replace0 = { - { nir_search_value_expression, -1 }, - false, false, - -1, 3, - nir_op_fsin, - { &replace0_0.value }, - NULL, -}; - - /* search1_0 -> search0_0 in the cache */ -static const nir_search_expression search1 = { - { nir_search_value_expression, -1 }, - false, false, - -1, 0, - nir_op_fcos, - { &search0_0.value }, - NULL, -}; - - /* replace1_0_0_0 -> replace0_0_0_0 in the cache */ - -/* replace1_0_0_1_0_0_0 -> replace0_0_0_1_0_0_0 in the cache */ - -/* replace1_0_0_1_0_0_1 -> search0_0 in the cache */ -/* replace1_0_0_1_0_0 -> replace0_0_0_1_0_0 in the cache */ - -/* replace1_0_0_1_0_1 -> replace0_0_0_1_0_1 in the cache */ -/* replace1_0_0_1_0 -> replace0_0_0_1_0 in the cache */ -/* replace1_0_0_1 -> replace0_0_0_1 in the cache */ -/* replace1_0_0 -> replace0_0_0 in the cache */ - -/* replace1_0_1 -> replace0_0_1 in the cache */ -/* replace1_0 -> replace0_0 in the cache */ -static const nir_search_expression replace1 = { - { nir_search_value_expression, -1 }, - false, false, - -1, 3, - nir_op_fcos, - { &replace0_0.value }, - NULL, -}; - - -static const struct transform ir3_nir_apply_trig_workarounds_state2_xforms[] = { - { &search0, &replace0.value, 0 }, -}; -static const struct transform ir3_nir_apply_trig_workarounds_state3_xforms[] = { - { &search1, &replace1.value, 0 }, -}; - -static const struct per_op_table ir3_nir_apply_trig_workarounds_table[nir_num_search_ops] = { - [nir_op_fsin] = { - .filter = (uint16_t []) { - 0, - 0, - 0, - 0, - }, - - .num_filtered_states = 1, - .table = (uint16_t []) { - - 2, - }, - }, - [nir_op_fcos] = { - .filter = (uint16_t []) { - 0, - 0, - 0, - 0, - }, - - .num_filtered_states = 1, - .table = (uint16_t []) { - - 3, - }, - }, -}; - -static void -ir3_nir_apply_trig_workarounds_pre_block(nir_block *block, uint16_t *states) -{ - nir_foreach_instr(instr, block) { - switch (instr->type) { - case nir_instr_type_alu: { - nir_alu_instr *alu = nir_instr_as_alu(instr); - nir_op op = alu->op; - uint16_t search_op = nir_search_op_for_nir_op(op); - const struct per_op_table *tbl = &ir3_nir_apply_trig_workarounds_table[search_op]; - if (tbl->num_filtered_states == 0) - continue; - - /* Calculate the index into the transition table. Note the index - * calculated must match the iteration order of Python's - * itertools.product(), which was used to emit the transition - * table. - */ - uint16_t index = 0; - for (unsigned i = 0; i < nir_op_infos[op].num_inputs; i++) { - index *= tbl->num_filtered_states; - index += tbl->filter[states[alu->src[i].src.ssa->index]]; - } - states[alu->dest.dest.ssa.index] = tbl->table[index]; - break; - } - - case nir_instr_type_load_const: { - nir_load_const_instr *load_const = nir_instr_as_load_const(instr); - states[load_const->def.index] = CONST_STATE; - break; - } - - default: - break; - } - } -} - -static bool -ir3_nir_apply_trig_workarounds_block(nir_builder *build, nir_block *block, - const uint16_t *states, const bool *condition_flags) -{ - bool progress = false; - - nir_foreach_instr_reverse_safe(instr, block) { - if (instr->type != nir_instr_type_alu) - continue; - - nir_alu_instr *alu = nir_instr_as_alu(instr); - if (!alu->dest.dest.is_ssa) - continue; - - switch (states[alu->dest.dest.ssa.index]) { - case 0: - break; - case 1: - break; - case 2: - for (unsigned i = 0; i < ARRAY_SIZE(ir3_nir_apply_trig_workarounds_state2_xforms); i++) { - const struct transform *xform = &ir3_nir_apply_trig_workarounds_state2_xforms[i]; - if (condition_flags[xform->condition_offset] && - nir_replace_instr(build, alu, xform->search, xform->replace)) { - progress = true; - break; - } - } - break; - case 3: - for (unsigned i = 0; i < ARRAY_SIZE(ir3_nir_apply_trig_workarounds_state3_xforms); i++) { - const struct transform *xform = &ir3_nir_apply_trig_workarounds_state3_xforms[i]; - if (condition_flags[xform->condition_offset] && - nir_replace_instr(build, alu, xform->search, xform->replace)) { - progress = true; - break; - } - } - break; - default: assert(0); - } - } - - return progress; -} - -static bool -ir3_nir_apply_trig_workarounds_impl(nir_function_impl *impl, const bool *condition_flags) -{ - bool progress = false; - - nir_builder build; - nir_builder_init(&build, impl); - - /* Note: it's important here that we're allocating a zeroed array, since - * state 0 is the default state, which means we don't have to visit - * anything other than constants and ALU instructions. - */ - uint16_t *states = calloc(impl->ssa_alloc, sizeof(*states)); - - nir_foreach_block(block, impl) { - ir3_nir_apply_trig_workarounds_pre_block(block, states); - } - - nir_foreach_block_reverse(block, impl) { - progress |= ir3_nir_apply_trig_workarounds_block(&build, block, states, condition_flags); - } - - free(states); - - if (progress) { - nir_metadata_preserve(impl, nir_metadata_block_index | - nir_metadata_dominance); - } else { -#ifndef NDEBUG - impl->valid_metadata &= ~nir_metadata_not_properly_reset; -#endif - } - - return progress; -} - - -bool -ir3_nir_apply_trig_workarounds(nir_shader *shader) -{ - bool progress = false; - bool condition_flags[1]; - const nir_shader_compiler_options *options = shader->options; - const shader_info *info = &shader->info; - (void) options; - (void) info; - - condition_flags[0] = true; - - nir_foreach_function(function, shader) { - if (function->impl) - progress |= ir3_nir_apply_trig_workarounds_impl(function->impl, condition_flags); - } - - return progress; -} - diff --git a/lib/mesa/src/freedreno/vulkan/tu_meta_blit.c b/lib/mesa/src/freedreno/vulkan/tu_meta_blit.c deleted file mode 100644 index da5ff6b12..000000000 --- a/lib/mesa/src/freedreno/vulkan/tu_meta_blit.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright © 2015 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include "tu_private.h" - -#include "nir/nir_builder.h" - -void -tu_CmdBlitImage(VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage destImage, - VkImageLayout destImageLayout, - uint32_t regionCount, - const VkImageBlit *pRegions, - VkFilter filter) - -{ -} diff --git a/lib/mesa/src/freedreno/vulkan/tu_meta_buffer.c b/lib/mesa/src/freedreno/vulkan/tu_meta_buffer.c deleted file mode 100644 index 98a73413c..000000000 --- a/lib/mesa/src/freedreno/vulkan/tu_meta_buffer.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "tu_private.h" - -void -tu_CmdFillBuffer(VkCommandBuffer commandBuffer, - VkBuffer dstBuffer, - VkDeviceSize dstOffset, - VkDeviceSize fillSize, - uint32_t data) -{ -} - -void -tu_CmdUpdateBuffer(VkCommandBuffer commandBuffer, - VkBuffer dstBuffer, - VkDeviceSize dstOffset, - VkDeviceSize dataSize, - const void *pData) -{ -} diff --git a/lib/mesa/src/freedreno/vulkan/tu_meta_clear.c b/lib/mesa/src/freedreno/vulkan/tu_meta_clear.c deleted file mode 100644 index 2beed5433..000000000 --- a/lib/mesa/src/freedreno/vulkan/tu_meta_clear.c +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright © 2015 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include "tu_private.h" - -void -tu_CmdClearColorImage(VkCommandBuffer commandBuffer, - VkImage image_h, - VkImageLayout imageLayout, - const VkClearColorValue *pColor, - uint32_t rangeCount, - const VkImageSubresourceRange *pRanges) -{ -} - -void -tu_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, - VkImage image_h, - VkImageLayout imageLayout, - const VkClearDepthStencilValue *pDepthStencil, - uint32_t rangeCount, - const VkImageSubresourceRange *pRanges) -{ -} - -void -tu_CmdClearAttachments(VkCommandBuffer commandBuffer, - uint32_t attachmentCount, - const VkClearAttachment *pAttachments, - uint32_t rectCount, - const VkClearRect *pRects) -{ -} diff --git a/lib/mesa/src/freedreno/vulkan/tu_meta_copy.c b/lib/mesa/src/freedreno/vulkan/tu_meta_copy.c deleted file mode 100644 index ced8661d5..000000000 --- a/lib/mesa/src/freedreno/vulkan/tu_meta_copy.c +++ /dev/null @@ -1,690 +0,0 @@ -/* - * Copyright © 2016 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include "tu_private.h" - -#include "a6xx.xml.h" -#include "adreno_common.xml.h" -#include "adreno_pm4.xml.h" - -#include "vk_format.h" - -#include "tu_cs.h" - -/* - * TODO: - * - image -> image copies - * - 3D textures - * - compressed image formats (need to divide offset/extent) - */ - -static uint32_t -blit_control(enum a6xx_color_fmt fmt) -{ - unsigned blit_cntl = 0xf00000; - blit_cntl |= A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT(fmt); - blit_cntl |= A6XX_RB_2D_BLIT_CNTL_IFMT(tu6_rb_fmt_to_ifmt(fmt)); - return blit_cntl; -} - -static uint32_t tu6_sp_2d_src_format(VkFormat format) -{ - const struct vk_format_description *desc = vk_format_description(format); - uint32_t reg = 0xf000 | A6XX_SP_2D_SRC_FORMAT_COLOR_FORMAT(tu6_get_native_format(format)->rb); - - int channel = vk_format_get_first_non_void_channel(format); - if (channel < 0) { - /* TODO special format. */ - return reg; - } - if (desc->channel[channel].normalized) { - if (desc->channel[channel].type == VK_FORMAT_TYPE_SIGNED) - reg |= A6XX_SP_2D_SRC_FORMAT_SINT; - reg |= A6XX_SP_2D_SRC_FORMAT_NORM; - } else if (desc->channel[channel].pure_integer) { - if (desc->channel[channel].type == VK_FORMAT_TYPE_SIGNED) - reg |= A6XX_SP_2D_SRC_FORMAT_SINT; - else - reg |= A6XX_SP_2D_SRC_FORMAT_UINT; - } - return reg; -} - -static void -tu_dma_prepare(struct tu_cmd_buffer *cmdbuf) -{ - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 10); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_EVENT_WRITE, 1); - tu_cs_emit(&cmdbuf->cs, PC_CCU_INVALIDATE_COLOR); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_EVENT_WRITE, 1); - tu_cs_emit(&cmdbuf->cs, LRZ_FLUSH); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_SKIP_IB2_ENABLE_GLOBAL, 1); - tu_cs_emit(&cmdbuf->cs, 0x0); - - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_CCU_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, 0x10000000); -} - -static void -tu_copy_buffer(struct tu_cmd_buffer *cmdbuf, - struct tu_bo *src_bo, - uint64_t src_offset, - struct tu_bo *dst_bo, - uint64_t dst_offset, - uint64_t size) -{ - const unsigned max_size_per_iter = 0x4000 - 0x40; - const unsigned max_iterations = - (size + max_size_per_iter) / max_size_per_iter; - - tu_bo_list_add(&cmdbuf->bo_list, src_bo, MSM_SUBMIT_BO_READ); - tu_bo_list_add(&cmdbuf->bo_list, dst_bo, MSM_SUBMIT_BO_WRITE); - - tu_dma_prepare(cmdbuf); - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 21 + 48 * max_iterations); - - /* buffer copy setup */ - tu_cs_emit_pkt7(&cmdbuf->cs, CP_SET_MARKER, 1); - tu_cs_emit(&cmdbuf->cs, A6XX_CP_SET_MARKER_0_MODE(RM6_BLIT2DSCALE)); - - const uint32_t blit_cntl = blit_control(RB6_R8_UNORM) | 0x20000000; - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_2D_BLIT_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, blit_cntl); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_BLIT_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, blit_cntl); - - for (; size;) { - uint64_t src_va = src_bo->iova + src_offset; - uint64_t dst_va = dst_bo->iova + dst_offset; - - unsigned src_shift = src_va & 0x3f; - unsigned dst_shift = dst_va & 0x3f; - unsigned max_shift = MAX2(src_shift, dst_shift); - - src_va -= src_shift; - dst_va -= dst_shift; - - uint32_t size_todo = MIN2(0x4000 - max_shift, size); - unsigned pitch = (size_todo + max_shift + 63) & ~63; - - /* - * Emit source: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_SP_PS_2D_SRC_INFO, 13); - tu_cs_emit(&cmdbuf->cs, - A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(RB6_R8_UNORM) | - A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(TILE6_LINEAR) | - A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(WZYX) | 0x500000); - tu_cs_emit(&cmdbuf->cs, - A6XX_SP_PS_2D_SRC_SIZE_WIDTH(src_shift + size_todo) | - A6XX_SP_PS_2D_SRC_SIZE_HEIGHT(1)); /* SP_PS_2D_SRC_SIZE */ - tu_cs_emit_qw(&cmdbuf->cs, src_va); - tu_cs_emit(&cmdbuf->cs, A6XX_SP_PS_2D_SRC_PITCH_PITCH(pitch)); - - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - /* - * Emit destination: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_2D_DST_INFO, 9); - tu_cs_emit(&cmdbuf->cs, A6XX_RB_2D_DST_INFO_COLOR_FORMAT(RB6_R8_UNORM) | - A6XX_RB_2D_DST_INFO_TILE_MODE(TILE6_LINEAR) | - A6XX_RB_2D_DST_INFO_COLOR_SWAP(WZYX)); - tu_cs_emit_qw(&cmdbuf->cs, dst_va); - - tu_cs_emit(&cmdbuf->cs, A6XX_RB_2D_DST_SIZE_PITCH(pitch)); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - /* - * Blit command: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_SRC_TL_X, 4); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_TL_X_X(src_shift)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_SRC_BR_X_X(src_shift + size_todo - 1)); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_TL_Y_Y(0)); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_BR_Y_Y(0)); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_DST_TL, 2); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_DST_TL_X(dst_shift) | A6XX_GRAS_2D_DST_TL_Y(0)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_DST_BR_X(dst_shift + size_todo - 1) | - A6XX_GRAS_2D_DST_BR_Y(0)); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_EVENT_WRITE, 1); - tu_cs_emit(&cmdbuf->cs, 0x3f); - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8C01, 1); - tu_cs_emit(&cmdbuf->cs, 0); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_SP_2D_SRC_FORMAT, 1); - tu_cs_emit(&cmdbuf->cs, 0xf180); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8E04, 1); - tu_cs_emit(&cmdbuf->cs, 0x01000000); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_BLIT, 1); - tu_cs_emit(&cmdbuf->cs, CP_BLIT_0_OP(BLIT_OP_SCALE)); - - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8E04, 1); - tu_cs_emit(&cmdbuf->cs, 0); - - src_offset += size_todo; - dst_offset += size_todo; - size -= size_todo; - } - - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, 0x1d, true); - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, FACENESS_FLUSH, true); - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, CACHE_FLUSH_TS, true); -} - -static void -tu_copy_buffer_to_image_step(struct tu_cmd_buffer *cmdbuf, - struct tu_buffer *src_buffer, - struct tu_image *dst_image, - const VkBufferImageCopy *copy_info, - VkFormat format, - uint32_t layer, - uint64_t src_va) -{ - const enum a6xx_color_fmt rb_fmt = tu6_get_native_format(format)->rb; - - uint64_t dst_va = dst_image->bo->iova + dst_image->bo_offset + dst_image->layer_size * layer + dst_image->levels[copy_info->imageSubresource.mipLevel].offset; - unsigned dst_pitch = dst_image->levels[copy_info->imageSubresource.mipLevel].pitch * - vk_format_get_blocksize(format); - - unsigned src_pitch; - unsigned src_offset = 0; - if (copy_info->imageExtent.height == 1) { - /* Can't find this in the spec, but not having it is sort of insane? */ - assert(src_va % vk_format_get_blocksize(format) == 0); - - src_offset = (src_va & 63) / vk_format_get_blocksize(format); - src_va &= ~63; - - src_pitch = align((src_offset + copy_info->imageExtent.width) * vk_format_get_blocksize(format), 64); - } else { - unsigned src_pixel_stride = copy_info->bufferRowLength - ? copy_info->bufferRowLength - : copy_info->imageExtent.width; - src_pitch = src_pixel_stride * vk_format_get_blocksize(format); - assert(!(src_pitch & 63)); - assert(!(src_va & 63)); - } - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 48); - - /* - * Emit source: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_SP_PS_2D_SRC_INFO, 13); - tu_cs_emit(&cmdbuf->cs, A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(rb_fmt) | - A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(TILE6_LINEAR) | - A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(WZYX) | - 0x500000); - tu_cs_emit(&cmdbuf->cs, - A6XX_SP_PS_2D_SRC_SIZE_WIDTH(src_offset + copy_info->imageExtent.width) | - A6XX_SP_PS_2D_SRC_SIZE_HEIGHT( - copy_info->imageExtent.height)); /* SP_PS_2D_SRC_SIZE */ - tu_cs_emit_qw(&cmdbuf->cs, src_va); - tu_cs_emit(&cmdbuf->cs, A6XX_SP_PS_2D_SRC_PITCH_PITCH(src_pitch)); - - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - /* - * Emit destination: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_2D_DST_INFO, 9); - tu_cs_emit(&cmdbuf->cs, - A6XX_RB_2D_DST_INFO_COLOR_FORMAT(rb_fmt) | - A6XX_RB_2D_DST_INFO_TILE_MODE(dst_image->tile_mode) | - A6XX_RB_2D_DST_INFO_COLOR_SWAP(WZYX)); - tu_cs_emit_qw(&cmdbuf->cs, dst_va); - tu_cs_emit(&cmdbuf->cs, A6XX_RB_2D_DST_SIZE_PITCH(dst_pitch)); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_SRC_TL_X, 4); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_TL_X_X(src_offset)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_SRC_BR_X_X(src_offset + copy_info->imageExtent.width - 1)); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_TL_Y_Y(0)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_SRC_BR_Y_Y(copy_info->imageExtent.height - 1)); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_DST_TL, 2); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_DST_TL_X(copy_info->imageOffset.x) | - A6XX_GRAS_2D_DST_TL_Y(copy_info->imageOffset.y)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_DST_BR_X(copy_info->imageOffset.x + - copy_info->imageExtent.width - 1) | - A6XX_GRAS_2D_DST_BR_Y(copy_info->imageOffset.y + - copy_info->imageExtent.height - 1)); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_EVENT_WRITE, 1); - tu_cs_emit(&cmdbuf->cs, 0x3f); - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8C01, 1); - tu_cs_emit(&cmdbuf->cs, 0); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_SP_2D_SRC_FORMAT, 1); - tu_cs_emit(&cmdbuf->cs, tu6_sp_2d_src_format(format)); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8E04, 1); - tu_cs_emit(&cmdbuf->cs, 0x01000000); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_BLIT, 1); - tu_cs_emit(&cmdbuf->cs, CP_BLIT_0_OP(BLIT_OP_SCALE)); - - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8E04, 1); - tu_cs_emit(&cmdbuf->cs, 0); -} - -static void -tu_copy_buffer_to_image(struct tu_cmd_buffer *cmdbuf, - struct tu_buffer *src_buffer, - struct tu_image *dst_image, - const VkBufferImageCopy *copy_info) -{ - tu_bo_list_add(&cmdbuf->bo_list, src_buffer->bo, MSM_SUBMIT_BO_READ); - tu_bo_list_add(&cmdbuf->bo_list, dst_image->bo, MSM_SUBMIT_BO_WRITE); - - /* general setup */ - tu_dma_prepare(cmdbuf); - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 6); - - /* buffer copy setup */ - tu_cs_emit_pkt7(&cmdbuf->cs, CP_SET_MARKER, 1); - tu_cs_emit(&cmdbuf->cs, A6XX_CP_SET_MARKER_0_MODE(RM6_BLIT2DSCALE)); - - VkFormat format = dst_image->vk_format; - const enum a6xx_color_fmt rb_fmt = tu6_get_native_format(format)->rb; - - const uint32_t blit_cntl = blit_control(rb_fmt) | 0x20000000; - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_2D_BLIT_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, blit_cntl); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_BLIT_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, blit_cntl); - - unsigned src_pixel_stride = copy_info->bufferRowLength - ? copy_info->bufferRowLength - : copy_info->imageExtent.width; - unsigned cpp = vk_format_get_blocksize(format); - unsigned src_pitch = src_pixel_stride * cpp; - - for (unsigned layer_offset = 0; layer_offset < copy_info->imageSubresource.layerCount; ++layer_offset) { - unsigned layer = copy_info->imageSubresource.baseArrayLayer + layer_offset; - uint64_t src_va = src_buffer->bo->iova + src_buffer->bo_offset + copy_info->bufferOffset + layer_offset * copy_info->bufferImageHeight * src_pitch; - - if ((src_pitch & 63) || (src_va & 63)) { - /* Do a per line copy */ - VkBufferImageCopy line_copy_info = *copy_info; - line_copy_info.imageExtent.height = 1; - for (unsigned r = 0; r < copy_info->imageExtent.height; ++r) { - /* - * if src_va is not aligned the line copy will need to adjust. Give it - * room to do so. - */ - unsigned max_width = 16384 - (src_va & 0x3f) ? 64 : 0; - line_copy_info.imageOffset.x = copy_info->imageOffset.x; - line_copy_info.imageExtent.width = copy_info->imageExtent.width; - - for (unsigned c = 0; c < copy_info->imageExtent.width; c += max_width) { - tu_copy_buffer_to_image_step(cmdbuf, src_buffer, dst_image, &line_copy_info, format, layer, src_va + c * cpp); - - line_copy_info.imageOffset.x += max_width; - line_copy_info.imageExtent.width -= max_width; - } - - line_copy_info.imageOffset.y++; - src_va += src_pitch; - } - } else { - tu_copy_buffer_to_image_step(cmdbuf, src_buffer, dst_image, copy_info, format, layer, src_va); - } - } - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 15); - - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, 0x1d, true); - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, FACENESS_FLUSH, true); - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, CACHE_FLUSH_TS, true); -} - -static void -tu_copy_image_to_buffer_step(struct tu_cmd_buffer *cmdbuf, - struct tu_image *src_image, - struct tu_buffer *dst_buffer, - const VkBufferImageCopy *copy_info, - VkFormat format, - uint32_t layer, - uint64_t dst_va) -{ - const enum a6xx_color_fmt rb_fmt = tu6_get_native_format(format)->rb; - - uint64_t src_va = src_image->bo->iova + src_image->bo_offset + src_image->layer_size * layer + src_image->levels[copy_info->imageSubresource.mipLevel].offset; - unsigned src_pitch = src_image->levels[copy_info->imageSubresource.mipLevel].pitch * - vk_format_get_blocksize(format); - - unsigned dst_pitch; - unsigned dst_offset = 0; - if (copy_info->imageExtent.height == 1) { - /* Can't find this in the spec, but not having it is sort of insane? */ - assert(dst_va % vk_format_get_blocksize(format) == 0); - - dst_offset = (dst_va & 63) / vk_format_get_blocksize(format); - dst_va &= ~63; - - dst_pitch = align((dst_offset + copy_info->imageExtent.width) * vk_format_get_blocksize(format), 64); - } else { - unsigned dst_pixel_stride = copy_info->bufferRowLength - ? copy_info->bufferRowLength - : copy_info->imageExtent.width; - dst_pitch = dst_pixel_stride * vk_format_get_blocksize(format); - assert(!(dst_pitch & 63)); - assert(!(dst_va & 63)); - } - - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 48); - - /* - * Emit source: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_SP_PS_2D_SRC_INFO, 13); - tu_cs_emit(&cmdbuf->cs, - A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(rb_fmt) | - A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(src_image->tile_mode) | - A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(WZYX) | 0x500000); - tu_cs_emit(&cmdbuf->cs, - A6XX_SP_PS_2D_SRC_SIZE_WIDTH(src_image->extent.width) | - A6XX_SP_PS_2D_SRC_SIZE_HEIGHT( - src_image->extent.height)); /* SP_PS_2D_SRC_SIZE */ - tu_cs_emit_qw(&cmdbuf->cs, src_va); - tu_cs_emit(&cmdbuf->cs, A6XX_SP_PS_2D_SRC_PITCH_PITCH(src_pitch)); - - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - /* - * Emit destination: - */ - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_2D_DST_INFO, 9); - tu_cs_emit(&cmdbuf->cs, A6XX_RB_2D_DST_INFO_COLOR_FORMAT(rb_fmt) | - A6XX_RB_2D_DST_INFO_TILE_MODE(TILE6_LINEAR) | - A6XX_RB_2D_DST_INFO_COLOR_SWAP(WZYX)); - tu_cs_emit_qw(&cmdbuf->cs, dst_va); - tu_cs_emit(&cmdbuf->cs, A6XX_RB_2D_DST_SIZE_PITCH(dst_pitch)); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - tu_cs_emit(&cmdbuf->cs, 0x00000000); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_SRC_TL_X, 4); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_TL_X_X(copy_info->imageOffset.x)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_SRC_BR_X_X(copy_info->imageOffset.x + - copy_info->imageExtent.width - 1)); - tu_cs_emit(&cmdbuf->cs, A6XX_GRAS_2D_SRC_TL_Y_Y(copy_info->imageOffset.y)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_SRC_BR_Y_Y(copy_info->imageOffset.y + - copy_info->imageExtent.height - 1)); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_DST_TL, 2); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_DST_TL_X(dst_offset) | A6XX_GRAS_2D_DST_TL_Y(0)); - tu_cs_emit(&cmdbuf->cs, - A6XX_GRAS_2D_DST_BR_X(dst_offset + copy_info->imageExtent.width - 1) | - A6XX_GRAS_2D_DST_BR_Y(copy_info->imageExtent.height - 1)); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_EVENT_WRITE, 1); - tu_cs_emit(&cmdbuf->cs, 0x3f); - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8C01, 1); - tu_cs_emit(&cmdbuf->cs, 0); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_SP_2D_SRC_FORMAT, 1); - tu_cs_emit(&cmdbuf->cs, tu6_sp_2d_src_format(format)); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8E04, 1); - tu_cs_emit(&cmdbuf->cs, 0x01000000); - - tu_cs_emit_pkt7(&cmdbuf->cs, CP_BLIT, 1); - tu_cs_emit(&cmdbuf->cs, CP_BLIT_0_OP(BLIT_OP_SCALE)); - - tu_cs_emit_wfi(&cmdbuf->cs); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_UNKNOWN_8E04, 1); - tu_cs_emit(&cmdbuf->cs, 0); -} - -static void -tu_copy_image_to_buffer(struct tu_cmd_buffer *cmdbuf, - struct tu_image *src_image, - struct tu_buffer *dst_buffer, - const VkBufferImageCopy *copy_info) -{ - tu_bo_list_add(&cmdbuf->bo_list, src_image->bo, MSM_SUBMIT_BO_READ); - tu_bo_list_add(&cmdbuf->bo_list, dst_buffer->bo, MSM_SUBMIT_BO_WRITE); - - /* general setup */ - tu_dma_prepare(cmdbuf); - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 6); - - /* buffer copy setup */ - tu_cs_emit_pkt7(&cmdbuf->cs, CP_SET_MARKER, 1); - tu_cs_emit(&cmdbuf->cs, A6XX_CP_SET_MARKER_0_MODE(RM6_BLIT2DSCALE)); - - VkFormat format = src_image->vk_format; - const enum a6xx_color_fmt rb_fmt = tu6_get_native_format(format)->rb; - - unsigned dst_pixel_stride = copy_info->bufferRowLength - ? copy_info->bufferRowLength - : copy_info->imageExtent.width; - unsigned cpp = vk_format_get_blocksize(format); - unsigned dst_pitch = dst_pixel_stride * cpp; - - - const uint32_t blit_cntl = blit_control(rb_fmt) | 0x20000000; - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_RB_2D_BLIT_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, blit_cntl); - - tu_cs_emit_pkt4(&cmdbuf->cs, REG_A6XX_GRAS_2D_BLIT_CNTL, 1); - tu_cs_emit(&cmdbuf->cs, blit_cntl); - - for (unsigned layer_offset = 0; layer_offset < copy_info->imageSubresource.layerCount; ++layer_offset) { - unsigned layer = copy_info->imageSubresource.baseArrayLayer + layer_offset; - uint64_t dst_va = dst_buffer->bo->iova + dst_buffer->bo_offset + copy_info->bufferOffset + layer_offset * copy_info->bufferImageHeight * dst_pitch; - - if ((dst_pitch & 63) || (dst_va & 63)) { - /* Do a per line copy */ - VkBufferImageCopy line_copy_info = *copy_info; - line_copy_info.imageExtent.height = 1; - for (unsigned r = 0; r < copy_info->imageExtent.height; ++r) { - /* - * if dst_va is not aligned the line copy will need to adjust. Give it - * room to do so. - */ - unsigned max_width = 16384 - (dst_va & 0x3f) ? 64 : 0; - line_copy_info.imageOffset.x = copy_info->imageOffset.x; - line_copy_info.imageExtent.width = copy_info->imageExtent.width; - - for (unsigned c = 0; c < copy_info->imageExtent.width; c += max_width) { - tu_copy_image_to_buffer_step(cmdbuf, src_image, dst_buffer, &line_copy_info, format, layer, dst_va + c * cpp); - - line_copy_info.imageOffset.x += max_width; - line_copy_info.imageExtent.width -= max_width; - } - - line_copy_info.imageOffset.y++; - dst_va += dst_pitch; - } - } else { - tu_copy_image_to_buffer_step(cmdbuf, src_image, dst_buffer, copy_info, format, layer, dst_va); - } - } - - tu_cs_reserve_space(cmdbuf->device, &cmdbuf->cs, 15); - - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, 0x1d, true); - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, FACENESS_FLUSH, true); - tu6_emit_event_write(cmdbuf, &cmdbuf->cs, CACHE_FLUSH_TS, true); -} - -void -tu_CmdCopyBuffer(VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkBuffer destBuffer, - uint32_t regionCount, - const VkBufferCopy *pRegions) -{ - TU_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer); - TU_FROM_HANDLE(tu_buffer, src_buffer, srcBuffer); - TU_FROM_HANDLE(tu_buffer, dst_buffer, destBuffer); - - for (unsigned i = 0; i < regionCount; ++i) { - uint64_t src_offset = src_buffer->bo_offset + pRegions[i].srcOffset; - uint64_t dst_offset = dst_buffer->bo_offset + pRegions[i].dstOffset; - - tu_copy_buffer(cmdbuf, src_buffer->bo, src_offset, dst_buffer->bo, - dst_offset, pRegions[i].size); - } -} - -void -tu_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkImage destImage, - VkImageLayout destImageLayout, - uint32_t regionCount, - const VkBufferImageCopy *pRegions) -{ - TU_FROM_HANDLE(tu_cmd_buffer, cmd_buffer, commandBuffer); - TU_FROM_HANDLE(tu_image, dest_image, destImage); - TU_FROM_HANDLE(tu_buffer, src_buffer, srcBuffer); - - for (unsigned i = 0; i < regionCount; ++i) { - tu_copy_buffer_to_image(cmd_buffer, src_buffer, dest_image, - pRegions + i); - } -} - -void -tu_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkBuffer destBuffer, - uint32_t regionCount, - const VkBufferImageCopy *pRegions) -{ - TU_FROM_HANDLE(tu_cmd_buffer, cmd_buffer, commandBuffer); - TU_FROM_HANDLE(tu_image, src_image, srcImage); - TU_FROM_HANDLE(tu_buffer, dst_buffer, destBuffer); - - for (unsigned i = 0; i < regionCount; ++i) { - tu_copy_image_to_buffer(cmd_buffer, src_image, dst_buffer, - pRegions + i); - } -} - -static void -meta_copy_image(struct tu_cmd_buffer *cmd_buffer, - struct tu_image *src_image, - VkImageLayout src_image_layout, - struct tu_image *dest_image, - VkImageLayout dest_image_layout, - uint32_t regionCount, - const VkImageCopy *pRegions) -{ -} - -void -tu_CmdCopyImage(VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage destImage, - VkImageLayout destImageLayout, - uint32_t regionCount, - const VkImageCopy *pRegions) -{ - TU_FROM_HANDLE(tu_cmd_buffer, cmd_buffer, commandBuffer); - TU_FROM_HANDLE(tu_image, src_image, srcImage); - TU_FROM_HANDLE(tu_image, dest_image, destImage); - - meta_copy_image(cmd_buffer, src_image, srcImageLayout, dest_image, - destImageLayout, regionCount, pRegions); -} diff --git a/lib/mesa/src/freedreno/vulkan/tu_meta_resolve.c b/lib/mesa/src/freedreno/vulkan/tu_meta_resolve.c deleted file mode 100644 index 4a9ebedfd..000000000 --- a/lib/mesa/src/freedreno/vulkan/tu_meta_resolve.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright © 2016 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#include "tu_private.h" - -#include <assert.h> -#include <stdbool.h> - -#include "nir/nir_builder.h" -#include "vk_format.h" - -void -tu_CmdResolveImage(VkCommandBuffer cmd_buffer_h, - VkImage src_image_h, - VkImageLayout src_image_layout, - VkImage dest_image_h, - VkImageLayout dest_image_layout, - uint32_t region_count, - const VkImageResolve *regions) -{ -} diff --git a/lib/mesa/src/freedreno/vulkan/vk_format_layout.csv b/lib/mesa/src/freedreno/vulkan/vk_format_layout.csv deleted file mode 100644 index f9c2e6f7c..000000000 --- a/lib/mesa/src/freedreno/vulkan/vk_format_layout.csv +++ /dev/null @@ -1,188 +0,0 @@ -/* this is pretty much taken from the gallium one. */ - - -VK_FORMAT_UNDEFINED , plain, 1, 1, u8 , , , , x001, rgb -VK_FORMAT_R4G4_UNORM_PACK8 , plain, 1, 1, un4 , un4 , , , xy01, rgb -VK_FORMAT_R4G4B4A4_UNORM_PACK16 , plain, 1, 1, un4 , un4 , un4 , un4 , wzyx, rgb -VK_FORMAT_B4G4R4A4_UNORM_PACK16 , plain, 1, 1, un4 , un4 , un4 , un4 , wxyz, rgb -VK_FORMAT_R5G6B5_UNORM_PACK16 , plain, 1, 1, un5 , un6 , un5 , , zyx1, rgb -VK_FORMAT_B5G6R5_UNORM_PACK16 , plain, 1, 1, un5 , un6 , un5 , , xyz1, rgb -VK_FORMAT_R5G5B5A1_UNORM_PACK16 , plain, 1, 1, un1 , un5 , un5 , un5 , wzyx, rgb -VK_FORMAT_B5G5R5A1_UNORM_PACK16 , plain, 1, 1, un1 , un5 , un5 , un5 , wxyz, rgb -VK_FORMAT_A1R5G5B5_UNORM_PACK16 , plain, 1, 1, un5 , un5 , un5 , un1 , zyxw, rgb -VK_FORMAT_R8_UNORM , plain, 1, 1, un8 , , , , x001, rgb -VK_FORMAT_R8_SNORM , plain, 1, 1, sn8 , , , , x001, rgb -VK_FORMAT_R8_USCALED , plain, 1, 1, us8 , , , , x001, rgb -VK_FORMAT_R8_SSCALED , plain, 1, 1, ss8 , , , , x001, rgb -VK_FORMAT_R8_UINT , plain, 1, 1, up8 , , , , x001, rgb -VK_FORMAT_R8_SINT , plain, 1, 1, sp8 , , , , x001, rgb -VK_FORMAT_R8_SRGB , plain, 1, 1, un8 , , , , x001, srgb -VK_FORMAT_R8G8_UNORM , plain, 1, 1, un8 , un8 , , , xy01, rgb -VK_FORMAT_R8G8_SNORM , plain, 1, 1, sn8 , sn8 , , , xy01, rgb -VK_FORMAT_R8G8_USCALED , plain, 1, 1, us8 , us8 , , , xy01, rgb -VK_FORMAT_R8G8_SSCALED , plain, 1, 1, ss8 , ss8 , , , xy01, rgb -VK_FORMAT_R8G8_UINT , plain, 1, 1, up8 , up8 , , , xy01, rgb -VK_FORMAT_R8G8_SINT , plain, 1, 1, sp8 , sp8 , , , xy01, rgb -VK_FORMAT_R8G8_SRGB , plain, 1, 1, un8 , un8 , , , xy01, srgb -VK_FORMAT_R8G8B8_UNORM , plain, 1, 1, un8 , un8 , un8 , , xyz1, rgb -VK_FORMAT_R8G8B8_SNORM , plain, 1, 1, sn8 , sn8 , sn8 , , xyz1, rgb -VK_FORMAT_R8G8B8_USCALED , plain, 1, 1, us8 , us8 , us8 , , xyz1, rgb -VK_FORMAT_R8G8B8_SSCALED , plain, 1, 1, ss8 , ss8 , ss8 , , xyz1, rgb -VK_FORMAT_R8G8B8_UINT , plain, 1, 1, up8 , up8 , up8 , , xyz1, rgb -VK_FORMAT_R8G8B8_SINT , plain, 1, 1, sp8 , sp8 , sp8 , , xyz1, rgb -VK_FORMAT_R8G8B8_SRGB , plain, 1, 1, un8 , un8 , un8 , , xyz1, srgb -VK_FORMAT_B8G8R8_UNORM , plain, 1, 1, un8 , un8 , un8 , , zyx1, rgb -VK_FORMAT_B8G8R8_SNORM , plain, 1, 1, sn8 , sn8 , sn8 , , zyx1, rgb -VK_FORMAT_B8G8R8_USCALED , plain, 1, 1, us8 , us8 , us8 , , zyx1, rgb -VK_FORMAT_B8G8R8_SSCALED , plain, 1, 1, ss8 , ss8 , ss8 , , zyx1, rgb -VK_FORMAT_B8G8R8_UINT , plain, 1, 1, up8 , up8 , up8 , , zyx1, rgb -VK_FORMAT_B8G8R8_SINT , plain, 1, 1, sp8 , sp8 , sp8 , , zyx1, rgb -VK_FORMAT_B8G8R8_SRGB , plain, 1, 1, un8 , un8 , un8 , , zyx1, srgb -VK_FORMAT_R8G8B8A8_UNORM , plain, 1, 1, un8 , un8 , un8 , un8 , xyzw, rgb -VK_FORMAT_R8G8B8A8_SNORM , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , xyzw, rgb -VK_FORMAT_R8G8B8A8_USCALED , plain, 1, 1, us8 , us8 , us8 , us8 , xyzw, rgb -VK_FORMAT_R8G8B8A8_SSCALED , plain, 1, 1, ss8 , ss8 , ss8 , ss8 , xyzw, rgb -VK_FORMAT_R8G8B8A8_UINT , plain, 1, 1, up8 , up8 , up8 , up8 , xyzw, rgb -VK_FORMAT_R8G8B8A8_SINT , plain, 1, 1, sp8 , sp8 , sp8 , sp8 , xyzw, rgb -VK_FORMAT_R8G8B8A8_SRGB , plain, 1, 1, un8 , un8 , un8 , un8 , xyzw, srgb -VK_FORMAT_B8G8R8A8_UNORM , plain, 1, 1, un8 , un8 , un8 , un8 , zyxw, rgb -VK_FORMAT_B8G8R8A8_SNORM , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , zyxw, rgb -VK_FORMAT_B8G8R8A8_USCALED , plain, 1, 1, us8 , us8 , us8 , us8 , zyxw, rgb -VK_FORMAT_B8G8R8A8_SSCALED , plain, 1, 1, ss8 , ss8 , ss8 , ss8 , zyxw, rgb -VK_FORMAT_B8G8R8A8_UINT , plain, 1, 1, up8 , up8 , up8 , up8 , zyxw, rgb -VK_FORMAT_B8G8R8A8_SINT , plain, 1, 1, sp8 , sp8 , sp8 , sp8 , zyxw, rgb -VK_FORMAT_B8G8R8A8_SRGB , plain, 1, 1, un8 , un8 , un8 , un8 , zyxw, srgb -VK_FORMAT_A8B8G8R8_UNORM_PACK32 , plain, 1, 1, un8 , un8 , un8 , un8 , xyzw, rgb -VK_FORMAT_A8B8G8R8_SNORM_PACK32 , plain, 1, 1, sn8 , sn8 , sn8 , sn8 , xyzw, rgb -VK_FORMAT_A8B8G8R8_USCALED_PACK32 , plain, 1, 1, us8 , us8 , us8 , us8 , xyzw, rgb -VK_FORMAT_A8B8G8R8_SSCALED_PACK32 , plain, 1, 1, ss8 , ss8 , ss8 , ss8 , xyzw, rgb -VK_FORMAT_A8B8G8R8_UINT_PACK32 , plain, 1, 1, up8 , up8 , up8 , up8 , xyzw, rgb -VK_FORMAT_A8B8G8R8_SINT_PACK32 , plain, 1, 1, sp8 , sp8 , sp8 , sp8 , xyzw, rgb -VK_FORMAT_A8B8G8R8_SRGB_PACK32 , plain, 1, 1, un8 , un8 , un8 , un8 , xyzw, srgb -VK_FORMAT_A2R10G10B10_UNORM_PACK32 , plain, 1, 1, un10, un10, un10, un2 , zyxw, rgb -VK_FORMAT_A2R10G10B10_SNORM_PACK32 , plain, 1, 1, sn10, sn10, sn10, sn2 , zyxw, rgb -VK_FORMAT_A2R10G10B10_USCALED_PACK32 , plain, 1, 1, us10, us10, us10, us2 , zyxw, rgb -VK_FORMAT_A2R10G10B10_SSCALED_PACK32 , plain, 1, 1, ss10, ss10, ss10, ss2 , zyxw, rgb -VK_FORMAT_A2R10G10B10_UINT_PACK32 , plain, 1, 1, up10, up10, up10, up2 , zyxw, rgb -VK_FORMAT_A2R10G10B10_SINT_PACK32 , plain, 1, 1, sp10, sp10, sp10, sp2 , zyxw, rgb -VK_FORMAT_A2B10G10R10_UNORM_PACK32 , plain, 1, 1, un10, un10, un10, un2 , xyzw, rgb -VK_FORMAT_A2B10G10R10_SNORM_PACK32 , plain, 1, 1, sn10, sn10, sn10, sn2 , xyzw, rgb -VK_FORMAT_A2B10G10R10_USCALED_PACK32 , plain, 1, 1, us10, us10, us10, us2 , xyzw, rgb -VK_FORMAT_A2B10G10R10_SSCALED_PACK32 , plain, 1, 1, ss10, ss10, ss10, ss2 , xyzw, rgb -VK_FORMAT_A2B10G10R10_UINT_PACK32 , plain, 1, 1, up10, up10, up10, up2 , xyzw, rgb -VK_FORMAT_A2B10G10R10_SINT_PACK32 , plain, 1, 1, sp10, sp10, sp10, sp2 , xyzw, rgb -VK_FORMAT_R16_UNORM , plain, 1, 1, un16, , , , x001, rgb -VK_FORMAT_R16_SNORM , plain, 1, 1, sn16, , , , x001, rgb -VK_FORMAT_R16_USCALED , plain, 1, 1, us16, , , , x001, rgb -VK_FORMAT_R16_SSCALED , plain, 1, 1, ss16, , , , x001, rgb -VK_FORMAT_R16_UINT , plain, 1, 1, up16, , , , x001, rgb -VK_FORMAT_R16_SINT , plain, 1, 1, sp16, , , , x001, rgb -VK_FORMAT_R16_SFLOAT , plain, 1, 1, f16 , , , , x001, rgb -VK_FORMAT_R16G16_UNORM , plain, 1, 1, un16, un16, , , xy01, rgb -VK_FORMAT_R16G16_SNORM , plain, 1, 1, sn16, sn16, , , xy01, rgb -VK_FORMAT_R16G16_USCALED , plain, 1, 1, us16, us16, , , xy01, rgb -VK_FORMAT_R16G16_SSCALED , plain, 1, 1, ss16, ss16, , , xy01, rgb -VK_FORMAT_R16G16_UINT , plain, 1, 1, up16, up16, , , xy01, rgb -VK_FORMAT_R16G16_SINT , plain, 1, 1, sp16, sp16, , , xy01, rgb -VK_FORMAT_R16G16_SFLOAT , plain, 1, 1, f16 , f16 , , , xy01, rgb -VK_FORMAT_R16G16B16_UNORM , plain, 1, 1, un16, un16, un16, , xyz1, rgb -VK_FORMAT_R16G16B16_SNORM , plain, 1, 1, sn16, sn16, sn16, , xyz1, rgb -VK_FORMAT_R16G16B16_USCALED , plain, 1, 1, us16, us16, us16, , xyz1, rgb -VK_FORMAT_R16G16B16_SSCALED , plain, 1, 1, ss16, ss16, ss16, , xyz1, rgb -VK_FORMAT_R16G16B16_UINT , plain, 1, 1, up16, up16, up16, , xyz1, rgb -VK_FORMAT_R16G16B16_SINT , plain, 1, 1, sp16, sp16, sp16, , xyz1, rgb -VK_FORMAT_R16G16B16_SFLOAT , plain, 1, 1, f16 , f16 , f16 , , xyz1, rgb -VK_FORMAT_R16G16B16A16_UNORM , plain, 1, 1, un16, un16, un16, un16, xyzw, rgb -VK_FORMAT_R16G16B16A16_SNORM , plain, 1, 1, sn16, sn16, sn16, sn16, xyzw, rgb -VK_FORMAT_R16G16B16A16_USCALED , plain, 1, 1, us16, us16, us16, us16, xyzw, rgb -VK_FORMAT_R16G16B16A16_SSCALED , plain, 1, 1, ss16, ss16, ss16, ss16, xyzw, rgb -VK_FORMAT_R16G16B16A16_UINT , plain, 1, 1, up16, up16, up16, up16, xyzw, rgb -VK_FORMAT_R16G16B16A16_SINT , plain, 1, 1, sp16, sp16, sp16, sp16, xyzw, rgb -VK_FORMAT_R16G16B16A16_SFLOAT , plain, 1, 1, f16 , f16 , f16 , f16 , xyzw, rgb -VK_FORMAT_R32_UINT , plain, 1, 1, up32, , , , x001, rgb -VK_FORMAT_R32_SINT , plain, 1, 1, sp32, , , , x001, rgb -VK_FORMAT_R32_SFLOAT , plain, 1, 1, f32 , , , , x001, rgb -VK_FORMAT_R32G32_UINT , plain, 1, 1, up32, up32, , , xy01, rgb -VK_FORMAT_R32G32_SINT , plain, 1, 1, sp32, sp32, , , xy01, rgb -VK_FORMAT_R32G32_SFLOAT , plain, 1, 1, f32 , f32 , , , xy01, rgb -VK_FORMAT_R32G32B32_UINT , plain, 1, 1, up32, up32, up32, , xyz1, rgb -VK_FORMAT_R32G32B32_SINT , plain, 1, 1, sp32, sp32, sp32, , xyz1, rgb -VK_FORMAT_R32G32B32_SFLOAT , plain, 1, 1, f32 , f32 , f32 , , xyz1, rgb -VK_FORMAT_R32G32B32A32_UINT , plain, 1, 1, up32, up32, up32, up32, xyzw, rgb -VK_FORMAT_R32G32B32A32_SINT , plain, 1, 1, sp32, sp32, sp32, sp32, xyzw, rgb -VK_FORMAT_R32G32B32A32_SFLOAT , plain, 1, 1, f32 , f32 , f32 , f32 , xyzw, rgb -VK_FORMAT_R64_UINT , plain, 1, 1, up64, , , , x001, rgb -VK_FORMAT_R64_SINT , plain, 1, 1, sp64, , , , x001, rgb -VK_FORMAT_R64_SFLOAT , plain, 1, 1, f64 , , , , x001, rgb -VK_FORMAT_R64G64_UINT , plain, 1, 1, up64, up64, , , xy01, rgb -VK_FORMAT_R64G64_SINT , plain, 1, 1, sp64, sp64, , , xy01, rgb -VK_FORMAT_R64G64_SFLOAT , plain, 1, 1, f64 , f64 , , , xy01, rgb -VK_FORMAT_R64G64B64_UINT , plain, 1, 1, up64, up64, up64, , xyz1, rgb -VK_FORMAT_R64G64B64_SINT , plain, 1, 1, sp64, sp64, sp64, , xyz1, rgb -VK_FORMAT_R64G64B64_SFLOAT , plain, 1, 1, f64 , f64 , f64 , , xyz1, rgb -VK_FORMAT_R64G64B64A64_UINT , plain, 1, 1, up64, up64, up64, up64, xyzw, rgb -VK_FORMAT_R64G64B64A64_SINT , plain, 1, 1, sp64, sp64, sp64, sp64, xyzw, rgb -VK_FORMAT_R64G64B64A64_SFLOAT , plain, 1, 1, f64 , f64 , f64 , f64 , xyzw, rgb -VK_FORMAT_B10G11R11_UFLOAT_PACK32 , other, 1, 1, x32 , , , , xyz1, rgb -VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 , other, 1, 1, x32 , , , , xyz1, rgb -VK_FORMAT_D16_UNORM , plain, 1, 1, un16, , , , x___, zs -VK_FORMAT_X8_D24_UNORM_PACK32 , plain, 1, 1, un24, x8 , , , x___, zs -VK_FORMAT_D32_SFLOAT , plain, 1, 1, f32 , , , , x___, zs -VK_FORMAT_S8_UINT , plain, 1, 1, up8 , , , , _x__, zs -VK_FORMAT_D16_UNORM_S8_UINT , plain, 1, 1, un16, up8 , , , xy__, zs -VK_FORMAT_D24_UNORM_S8_UINT , plain, 1, 1, un24, up8 , , , xy__, zs -VK_FORMAT_D32_SFLOAT_S8_UINT , plain, 1, 1, f32 , up8 , , , xy__, zs -VK_FORMAT_BC1_RGB_UNORM_BLOCK , s3tc, 4, 4, x64 , , , , xyz1, rgb -VK_FORMAT_BC1_RGB_SRGB_BLOCK , s3tc, 4, 4, x64 , , , , xyz1, srgb -VK_FORMAT_BC1_RGBA_UNORM_BLOCK , s3tc, 4, 4, x64 , , , , xyzw, rgb -VK_FORMAT_BC1_RGBA_SRGB_BLOCK , s3tc, 4, 4, x64 , , , , xyzw, srgb -VK_FORMAT_BC2_UNORM_BLOCK , s3tc, 4, 4, x128, , , , xyzw, rgb -VK_FORMAT_BC2_SRGB_BLOCK , s3tc, 4, 4, x128, , , , xyzw, srgb -VK_FORMAT_BC3_UNORM_BLOCK , s3tc, 4, 4, x128, , , , xyzw, rgb -VK_FORMAT_BC3_SRGB_BLOCK , s3tc, 4, 4, x128, , , , xyzw, srgb -VK_FORMAT_BC4_UNORM_BLOCK , rgtc, 4, 4, x64, , , , x001, rgb -VK_FORMAT_BC4_SNORM_BLOCK , rgtc, 4, 4, x64, , , , x001, rgb -VK_FORMAT_BC5_UNORM_BLOCK , rgtc, 4, 4, x128, , , , xy01, rgb -VK_FORMAT_BC5_SNORM_BLOCK , rgtc, 4, 4, x128, , , , xy01, rgb -VK_FORMAT_BC6H_UFLOAT_BLOCK , bptc, 4, 4, x128, , , , xyz1, rgb -VK_FORMAT_BC6H_SFLOAT_BLOCK , bptc, 4, 4, x128, , , , xyz1, rgb -VK_FORMAT_BC7_UNORM_BLOCK , bptc, 4, 4, x128, , , , xyzw, rgb -VK_FORMAT_BC7_SRGB_BLOCK , bptc, 4, 4, x128, , , , xyzw, srgb -VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK , etc, 4, 4, x64, , , , xyz1, rgb -VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK , etc, 4, 4, x64, , , , xyz1, srgb -VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK , etc, 4, 4, x64, , , , xyzw, rgb -VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK , etc, 4, 4, x64, , , , xyzw, srgb -VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK , etc, 4, 4, x128, , , , xyzw, rgb -VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK , etc, 4, 4, x128, , , , xyzw, srgb -VK_FORMAT_EAC_R11_UNORM_BLOCK , etc, 4, 4, x64, , , , x001, rgb -VK_FORMAT_EAC_R11_SNORM_BLOCK , etc, 4, 4, x64, , , , x001, rgb -VK_FORMAT_EAC_R11G11_UNORM_BLOCK , etc, 4, 4, x128, , , , xy01, rgb -VK_FORMAT_EAC_R11G11_SNORM_BLOCK , etc, 4, 4, x128, , , , xy01, rgb -VK_FORMAT_ASTC_4x4_UNORM_BLOCK, -VK_FORMAT_ASTC_4x4_SRGB_BLOCK, -VK_FORMAT_ASTC_5x4_UNORM_BLOCK, -VK_FORMAT_ASTC_5x4_SRGB_BLOCK, -VK_FORMAT_ASTC_5x5_UNORM_BLOCK, -VK_FORMAT_ASTC_5x5_SRGB_BLOCK, -VK_FORMAT_ASTC_6x5_UNORM_BLOCK, -VK_FORMAT_ASTC_6x5_SRGB_BLOCK, -VK_FORMAT_ASTC_6x6_UNORM_BLOCK, -VK_FORMAT_ASTC_6x6_SRGB_BLOCK, -VK_FORMAT_ASTC_8x5_UNORM_BLOCK, -VK_FORMAT_ASTC_8x5_SRGB_BLOCK, -VK_FORMAT_ASTC_8x6_UNORM_BLOCK, -VK_FORMAT_ASTC_8x6_SRGB_BLOCK, -VK_FORMAT_ASTC_8x8_UNORM_BLOCK, -VK_FORMAT_ASTC_8x8_SRGB_BLOCK, -VK_FORMAT_ASTC_10x5_UNORM_BLOCK, -VK_FORMAT_ASTC_10x5_SRGB_BLOCK, -VK_FORMAT_ASTC_10x6_UNORM_BLOCK, -VK_FORMAT_ASTC_10x6_SRGB_BLOCK, -VK_FORMAT_ASTC_10x8_UNORM_BLOCK, -VK_FORMAT_ASTC_10x8_SRGB_BLOCK, -VK_FORMAT_ASTC_10x10_UNORM_BLOCK, -VK_FORMAT_ASTC_10x10_SRGB_BLOCK, -VK_FORMAT_ASTC_12x10_UNORM_BLOCK, -VK_FORMAT_ASTC_12x10_SRGB_BLOCK, -VK_FORMAT_ASTC_12x12_UNORM_BLOCK, -VK_FORMAT_ASTC_12x12_SRGB_BLOCK, diff --git a/lib/mesa/src/freedreno/vulkan/vk_format_table.py b/lib/mesa/src/freedreno/vulkan/vk_format_table.py deleted file mode 100644 index 604aac8fa..000000000 --- a/lib/mesa/src/freedreno/vulkan/vk_format_table.py +++ /dev/null @@ -1,173 +0,0 @@ -from __future__ import print_function - -CopyRight = ''' -/************************************************************************** - * - * Copyright 2010 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ -''' - - -import sys - -from vk_format_parse import * - -def layout_map(layout): - return 'VK_FORMAT_LAYOUT_' + str(layout).upper() - - -def colorspace_map(colorspace): - return 'VK_FORMAT_COLORSPACE_' + str(colorspace).upper() - - -colorspace_channels_map = { - 'rgb': ['r', 'g', 'b', 'a'], - 'srgb': ['sr', 'sg', 'sb', 'a'], - 'zs': ['z', 's'], - 'yuv': ['y', 'u', 'v'], -} - - -type_map = { - VOID: "VK_FORMAT_TYPE_VOID", - UNSIGNED: "VK_FORMAT_TYPE_UNSIGNED", - SIGNED: "VK_FORMAT_TYPE_SIGNED", - FIXED: "VK_FORMAT_TYPE_FIXED", - FLOAT: "VK_FORMAT_TYPE_FLOAT", -} - - -def bool_map(value): - if value: - return "true" - else: - return "false" - - -swizzle_map = { - SWIZZLE_X: "VK_SWIZZLE_X", - SWIZZLE_Y: "VK_SWIZZLE_Y", - SWIZZLE_Z: "VK_SWIZZLE_Z", - SWIZZLE_W: "VK_SWIZZLE_W", - SWIZZLE_0: "VK_SWIZZLE_0", - SWIZZLE_1: "VK_SWIZZLE_1", - SWIZZLE_NONE: "VK_SWIZZLE_NONE", -} - -def print_channels(format, func): - if format.nr_channels() <= 1: - func(format.le_channels, format.le_swizzles) - else: - print('#ifdef PIPE_ARCH_BIG_ENDIAN') - func(format.be_channels, format.be_swizzles) - print('#else') - func(format.le_channels, format.le_swizzles) - print('#endif') - -def write_format_table(formats): - print('/* This file is autogenerated by vk_format_table.py from vk_format_layout.csv. Do not edit directly. */') - print() - # This will print the copyright message on the top of this file - print(CopyRight.strip()) - print() - print('#include "stdbool.h"') - print('#include "vk_format.h"') - print() - - def do_channel_array(channels, swizzles): - print(" {") - for i in range(4): - channel = channels[i] - if i < 3: - sep = "," - else: - sep = "" - if channel.size: - print(" {%s, %s, %s, %s, %u, %u}%s\t/* %s = %s */" % (type_map[channel.type], bool_map(channel.norm), bool_map(channel.pure), bool_map(channel.scaled), channel.size, channel.shift, sep, "xyzw"[i], channel.name)) - else: - print(" {0, 0, 0, 0, 0}%s" % (sep,)) - print(" },") - - def do_swizzle_array(channels, swizzles): - print(" {") - for i in range(4): - swizzle = swizzles[i] - if i < 3: - sep = "," - else: - sep = "" - try: - comment = colorspace_channels_map[format.colorspace][i] - except (KeyError, IndexError): - comment = 'ignored' - print(" %s%s\t/* %s */" % (swizzle_map[swizzle], sep, comment)) - print(" },") - - for format in formats: - print('static const struct vk_format_description') - print('vk_format_%s_description = {' % (format.short_name(),)) - print(" %s," % (format.name,)) - print(" \"%s\"," % (format.name,)) - print(" \"%s\"," % (format.short_name(),)) - print(" {%u, %u, %u},\t/* block */" % (format.block_width, format.block_height, format.block_size())) - print(" %s," % (layout_map(format.layout),)) - print(" %u,\t/* nr_channels */" % (format.nr_channels(),)) - print(" %s,\t/* is_array */" % (bool_map(format.is_array()),)) - print(" %s,\t/* is_bitmask */" % (bool_map(format.is_bitmask()),)) - print(" %s,\t/* is_mixed */" % (bool_map(format.is_mixed()),)) - print_channels(format, do_channel_array) - print_channels(format, do_swizzle_array) - print(" %s," % (colorspace_map(format.colorspace),)) - print("};") - print() - - print("const struct vk_format_description *") - print("vk_format_description(VkFormat format)") - print("{") - print(" if (format > VK_FORMAT_END_RANGE) {") - print(" return NULL;") - print(" }") - print() - print(" switch (format) {") - for format in formats: - print(" case %s:" % format.name) - print(" return &vk_format_%s_description;" % (format.short_name(),)) - print(" default:") - print(" return NULL;") - print(" }") - print("}") - print() - - -def main(): - - formats = [] - for arg in sys.argv[1:]: - formats.extend(parse(arg)) - write_format_table(formats) - - -if __name__ == '__main__': - main() |