summaryrefslogtreecommitdiff
path: root/lib/mesa/src/broadcom
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mesa/src/broadcom')
-rw-r--r--lib/mesa/src/broadcom/Makefile.am13
-rw-r--r--lib/mesa/src/broadcom/Makefile.genxml.am18
-rw-r--r--lib/mesa/src/broadcom/Makefile.in219
-rw-r--r--lib/mesa/src/broadcom/Makefile.sources18
-rw-r--r--lib/mesa/src/broadcom/Makefile.vc5.am20
-rw-r--r--lib/mesa/src/broadcom/cle/gen_pack_header.py151
-rw-r--r--lib/mesa/src/broadcom/cle/v3d_packet_helpers.h21
-rw-r--r--lib/mesa/src/broadcom/cle/v3d_packet_v21.xml49
-rw-r--r--lib/mesa/src/broadcom/cle/v3d_packet_v21_pack.h45
-rw-r--r--lib/mesa/src/broadcom/common/v3d_device_info.h7
10 files changed, 404 insertions, 157 deletions
diff --git a/lib/mesa/src/broadcom/Makefile.am b/lib/mesa/src/broadcom/Makefile.am
index 01b485e7d..4cd75bbcc 100644
--- a/lib/mesa/src/broadcom/Makefile.am
+++ b/lib/mesa/src/broadcom/Makefile.am
@@ -24,7 +24,9 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/include \
-I$(top_builddir)/src \
-I$(top_srcdir)/src \
+ -I$(top_builddir)/src/compiler/nir \
-I$(top_srcdir)/src/broadcom/ \
+ -I$(top_srcdir)/src/broadcom/cle \
-I$(top_srcdir)/src/broadcom/include \
-I$(top_srcdir)/src/gallium/auxiliary \
-I$(top_srcdir)/src/gallium/include \
@@ -46,13 +48,18 @@ check_PROGRAMS =
TESTS =
BUILT_SOURCES =
CLEANFILES =
-EXTRA_DIST = $(BROADCOM_FILES)
+EXTRA_DIST = \
+ $(BROADCOM_FILES) \
+ meson.build \
+ cle/meson.build \
+ compiler/meson.build \
+ qpu/meson.build
MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
-PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
+PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS)
include Makefile.genxml.am
include Makefile.cle.am
-include Makefile.vc5.am
+include Makefile.v3d.am
CLEANFILES += $(BUILT_SOURCES)
diff --git a/lib/mesa/src/broadcom/Makefile.genxml.am b/lib/mesa/src/broadcom/Makefile.genxml.am
index 6cfabaebc..35421722d 100644
--- a/lib/mesa/src/broadcom/Makefile.genxml.am
+++ b/lib/mesa/src/broadcom/Makefile.genxml.am
@@ -28,14 +28,28 @@ SUFFIXES = _pack.h .xml
$(BROADCOM_GENXML_GENERATED_FILES): cle/gen_pack_header.py
-.xml_pack.h:
+if REGEN_SOURCES
+cle/v3d_packet_v21_pack.h: $(srcdir)/cle/v3d_packet_v21.xml $(srcdir)/cle/gen_pack_header.py
$(MKDIR_GEN)
- $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< > $@ || ($(RM) $@; false)
+ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 21 > $@ || ($(RM) $@; false)
+
+cle/v3d_packet_v33_pack.h: $(srcdir)/cle/v3d_packet_v33.xml $(srcdir)/cle/gen_pack_header.py
+ $(MKDIR_GEN)
+ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 33 > $@ || ($(RM) $@; false)
+
+cle/v3d_packet_v41_pack.h: $(srcdir)/cle/v3d_packet_v33.xml $(srcdir)/cle/gen_pack_header.py
+ $(MKDIR_GEN)
+ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 41 > $@ || ($(RM) $@; false)
+
+cle/v3d_packet_v42_pack.h: $(srcdir)/cle/v3d_packet_v33.xml $(srcdir)/cle/gen_pack_header.py
+ $(MKDIR_GEN)
+ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 42 > $@ || ($(RM) $@; false)
GEN_ZIPPED = $(srcdir)/../intel/genxml/gen_zipped_file.py
cle/v3d_xml.h: $(GEN_ZIPPED) $(BROADCOM_GENXML_XML_FILES)
$(MKDIR_GEN)
$(PYTHON_GEN) $(GEN_ZIPPED) $(BROADCOM_GENXML_XML_FILES:%=$(srcdir)/%) > $@ || ($(RM) $@; false)
+endif
EXTRA_DIST += \
cle/gen_pack_header.py \
diff --git a/lib/mesa/src/broadcom/Makefile.in b/lib/mesa/src/broadcom/Makefile.in
index b78dd8c5e..931549298 100644
--- a/lib/mesa/src/broadcom/Makefile.in
+++ b/lib/mesa/src/broadcom/Makefile.in
@@ -100,10 +100,10 @@ target_triplet = @target@
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.cle.am $(srcdir)/Makefile.genxml.am \
$(srcdir)/Makefile.in $(srcdir)/Makefile.sources \
- $(srcdir)/Makefile.vc5.am $(top_srcdir)/bin/depcomp
+ $(srcdir)/Makefile.v3d.am $(top_srcdir)/bin/depcomp
noinst_PROGRAMS =
check_PROGRAMS = qpu/tests/qpu_disasm$(EXEEXT)
-@USE_VC5_SIMULATOR_TRUE@am__append_1 = $(VC5_SIMULATOR_CFLAGS)
+@USE_V3D_SIMULATOR_TRUE@am__append_1 = $(V3D_SIMULATOR_CFLAGS)
subdir = src/broadcom
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
@@ -165,14 +165,17 @@ cle_libbroadcom_cle_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(cle_libbroadcom_cle_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
libbroadcom_la_LIBADD =
-am__objects_2 = common/v3d_debug.lo clif/clif_dump.lo \
+am__objects_2 = clif/clif_dump.lo common/v3d_debug.lo \
compiler/nir_to_vir.lo compiler/vir.lo compiler/vir_dump.lo \
compiler/vir_live_variables.lo compiler/vir_lower_uniforms.lo \
compiler/vir_opt_copy_propagate.lo \
compiler/vir_opt_dead_code.lo \
+ compiler/vir_opt_small_immediates.lo \
compiler/vir_register_allocate.lo compiler/vir_to_qpu.lo \
compiler/qpu_schedule.lo compiler/qpu_validate.lo \
- compiler/v3d_nir_lower_io.lo qpu/qpu_disasm.lo \
+ compiler/v3d33_tex.lo compiler/v3d33_vpm_setup.lo \
+ compiler/v3d40_tex.lo compiler/v3d_nir_lower_io.lo \
+ compiler/v3d_nir_lower_txf_ms.lo qpu/qpu_disasm.lo \
qpu/qpu_instr.lo qpu/qpu_pack.lo
am_libbroadcom_la_OBJECTS = $(am__objects_2)
libbroadcom_la_OBJECTS = $(am_libbroadcom_la_OBJECTS)
@@ -180,6 +183,30 @@ libbroadcom_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libbroadcom_la_LDFLAGS) $(LDFLAGS) -o \
$@
+libbroadcom_v33_la_LIBADD =
+am__objects_3 = clif/libbroadcom_v33_la-v3dx_dump.lo
+am_libbroadcom_v33_la_OBJECTS = $(am__objects_3)
+libbroadcom_v33_la_OBJECTS = $(am_libbroadcom_v33_la_OBJECTS)
+libbroadcom_v33_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libbroadcom_v33_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libbroadcom_v41_la_LIBADD =
+am__objects_4 = clif/libbroadcom_v41_la-v3dx_dump.lo
+am_libbroadcom_v41_la_OBJECTS = $(am__objects_4)
+libbroadcom_v41_la_OBJECTS = $(am_libbroadcom_v41_la_OBJECTS)
+libbroadcom_v41_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libbroadcom_v41_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libbroadcom_v42_la_LIBADD =
+am__objects_5 = clif/libbroadcom_v42_la-v3dx_dump.lo
+am_libbroadcom_v42_la_OBJECTS = $(am__objects_5)
+libbroadcom_v42_la_OBJECTS = $(am_libbroadcom_v42_la_OBJECTS)
+libbroadcom_v42_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libbroadcom_v42_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
PROGRAMS = $(noinst_PROGRAMS)
qpu_tests_qpu_disasm_SOURCES = qpu/tests/qpu_disasm.c
qpu_tests_qpu_disasm_OBJECTS = qpu/tests/qpu_disasm.$(OBJEXT)
@@ -222,9 +249,12 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(cle_libbroadcom_cle_la_SOURCES) $(libbroadcom_la_SOURCES) \
- qpu/tests/qpu_disasm.c
+ $(libbroadcom_v33_la_SOURCES) $(libbroadcom_v41_la_SOURCES) \
+ $(libbroadcom_v42_la_SOURCES) qpu/tests/qpu_disasm.c
DIST_SOURCES = $(cle_libbroadcom_cle_la_SOURCES) \
- $(libbroadcom_la_SOURCES) qpu/tests/qpu_disasm.c
+ $(libbroadcom_la_SOURCES) $(libbroadcom_v33_la_SOURCES) \
+ $(libbroadcom_v41_la_SOURCES) $(libbroadcom_v42_la_SOURCES) \
+ qpu/tests/qpu_disasm.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -251,6 +281,8 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BACKTRACE_CFLAGS = @BACKTRACE_CFLAGS@
+BACKTRACE_LIBS = @BACKTRACE_LIBS@
BSYMBOLIC = @BSYMBOLIC@
CC = @CC@
CCAS = @CCAS@
@@ -264,6 +296,7 @@ CLOVER_STD_OVERRIDE = @CLOVER_STD_OVERRIDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
+CXX11_CXXFLAGS = @CXX11_CXXFLAGS@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
@@ -297,8 +330,6 @@ EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FGREP = @FGREP@
-FREEDRENO_CFLAGS = @FREEDRENO_CFLAGS@
-FREEDRENO_LIBS = @FREEDRENO_LIBS@
GALLIUM_PIPE_LOADER_DEFINES = @GALLIUM_PIPE_LOADER_DEFINES@
GBM_PC_LIB_PRIV = @GBM_PC_LIB_PRIV@
GBM_PC_REQ_PRIV = @GBM_PC_REQ_PRIV@
@@ -317,8 +348,8 @@ 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@
-HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@
I915_CFLAGS = @I915_CFLAGS@
I915_LIBS = @I915_LIBS@
INDENT = @INDENT@
@@ -330,6 +361,7 @@ 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@
@@ -367,7 +399,7 @@ MSVC2013_COMPAT_CFLAGS = @MSVC2013_COMPAT_CFLAGS@
MSVC2013_COMPAT_CXXFLAGS = @MSVC2013_COMPAT_CXXFLAGS@
NINE_MAJOR = @NINE_MAJOR@
NINE_MINOR = @NINE_MINOR@
-NINE_TINY = @NINE_TINY@
+NINE_PATCH = @NINE_PATCH@
NINE_VERSION = @NINE_VERSION@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -380,6 +412,9 @@ 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@
@@ -407,11 +442,16 @@ PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
PWR8_CFLAGS = @PWR8_CFLAGS@
-PYTHON2 = @PYTHON2@
+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@
@@ -423,9 +463,10 @@ SSE41_CFLAGS = @SSE41_CFLAGS@
STRIP = @STRIP@
SWR_AVX2_CXXFLAGS = @SWR_AVX2_CXXFLAGS@
SWR_AVX_CXXFLAGS = @SWR_AVX_CXXFLAGS@
-SWR_CXX11_CXXFLAGS = @SWR_CXX11_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@
@@ -433,8 +474,8 @@ VA_LIBS = @VA_LIBS@
VA_LIB_INSTALL_DIR = @VA_LIB_INSTALL_DIR@
VA_MAJOR = @VA_MAJOR@
VA_MINOR = @VA_MINOR@
-VC5_SIMULATOR_CFLAGS = @VC5_SIMULATOR_CFLAGS@
-VC5_SIMULATOR_LIBS = @VC5_SIMULATOR_LIBS@
+VC4_CFLAGS = @VC4_CFLAGS@
+VC4_LIBS = @VC4_LIBS@
VDPAU_CFLAGS = @VDPAU_CFLAGS@
VDPAU_LIBS = @VDPAU_LIBS@
VDPAU_LIB_INSTALL_DIR = @VDPAU_LIB_INSTALL_DIR@
@@ -448,7 +489,11 @@ 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@
@@ -458,16 +503,20 @@ WNO_OVERRIDE_INIT = @WNO_OVERRIDE_INIT@
X11_INCLUDES = @X11_INCLUDES@
XA_MAJOR = @XA_MAJOR@
XA_MINOR = @XA_MINOR@
-XA_TINY = @XA_TINY@
+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@
-XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@
-XF86VIDMODE_LIBS = @XF86VIDMODE_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@
@@ -522,9 +571,13 @@ 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@
@@ -541,7 +594,9 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/include \
-I$(top_builddir)/src \
-I$(top_srcdir)/src \
+ -I$(top_builddir)/src/compiler/nir \
-I$(top_srcdir)/src/broadcom/ \
+ -I$(top_srcdir)/src/broadcom/cle \
-I$(top_srcdir)/src/broadcom/include \
-I$(top_srcdir)/src/gallium/auxiliary \
-I$(top_srcdir)/src/gallium/include \
@@ -552,6 +607,8 @@ AM_CFLAGS = $(EXPAT_CFLAGS) $(am__append_1)
BROADCOM_GENXML_GENERATED_FILES = \
cle/v3d_packet_v21_pack.h \
cle/v3d_packet_v33_pack.h \
+ cle/v3d_packet_v41_pack.h \
+ cle/v3d_packet_v42_pack.h \
cle/v3d_xml.h \
$()
@@ -562,11 +619,14 @@ BROADCOM_GENXML_XML_FILES = \
BROADCOM_FILES = \
cle/v3d_packet_helpers.h \
- common/v3d_debug.c \
- common/v3d_debug.h \
+ cle/v3dx_pack.h\
clif/clif_dump.c \
clif/clif_dump.h \
+ clif/clif_private.h \
+ common/v3d_debug.c \
+ common/v3d_debug.h \
common/v3d_device_info.h \
+ common/v3d_macros.h \
compiler/nir_to_vir.c \
compiler/vir.c \
compiler/vir_dump.c \
@@ -574,12 +634,17 @@ BROADCOM_FILES = \
compiler/vir_lower_uniforms.c \
compiler/vir_opt_copy_propagate.c \
compiler/vir_opt_dead_code.c \
+ compiler/vir_opt_small_immediates.c \
compiler/vir_register_allocate.c \
compiler/vir_to_qpu.c \
compiler/qpu_schedule.c \
compiler/qpu_validate.c \
+ compiler/v3d33_tex.c \
+ compiler/v3d33_vpm_setup.c \
+ compiler/v3d40_tex.c \
compiler/v3d_compiler.h \
compiler/v3d_nir_lower_io.c \
+ compiler/v3d_nir_lower_txf_ms.c \
qpu/qpu_disasm.c \
qpu/qpu_disasm.h \
qpu/qpu_instr.c \
@@ -587,6 +652,10 @@ BROADCOM_FILES = \
qpu/qpu_pack.c \
$()
+BROADCOM_PER_VERSION_SOURCES = \
+ clif/v3dx_dump.c \
+ $()
+
BROADCOM_DECODER_FILES = \
cle/v3d_decoder.c \
cle/v3d_decoder.h \
@@ -596,22 +665,31 @@ lib_LTLIBRARIES =
check_LTLIBRARIES =
noinst_DATA =
noinst_HEADERS =
-noinst_LTLIBRARIES = cle/libbroadcom_cle.la libbroadcom.la
+noinst_LTLIBRARIES = cle/libbroadcom_cle.la libbroadcom.la \
+ libbroadcom_v33.la libbroadcom_v41.la libbroadcom_v42.la
TESTS = $(check_PROGRAMS)
BUILT_SOURCES = $(BROADCOM_GENXML_GENERATED_FILES)
CLEANFILES = $(BUILT_SOURCES)
-EXTRA_DIST = $(BROADCOM_FILES) $(BROADCOM_GENXML_XML_FILES) \
+EXTRA_DIST = $(BROADCOM_FILES) meson.build cle/meson.build \
+ compiler/meson.build qpu/meson.build \
+ $(BROADCOM_GENXML_XML_FILES) \
$(BROADCOM_GENXML_GENERATED_FILES) cle/gen_pack_header.py $()
MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
-PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
+PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS)
SUFFIXES = _pack.h .xml
-GEN_ZIPPED = $(srcdir)/../intel/genxml/gen_zipped_file.py
+@REGEN_SOURCES_TRUE@GEN_ZIPPED = $(srcdir)/../intel/genxml/gen_zipped_file.py
cle_libbroadcom_cle_la_CFLAGS = \
-I$(top_builddir)/src/broadcom/cle \
$(AM_CFLAGS)
cle_libbroadcom_cle_la_SOURCES = $(BROADCOM_DECODER_FILES)
-@USE_VC5_SIMULATOR_TRUE@libbroadcom_la_LDFLAGS = $(VC5_SIMULATOR_LIBS)
+@USE_V3D_SIMULATOR_TRUE@libbroadcom_la_LDFLAGS = $(V3D_SIMULATOR_LIBS)
+libbroadcom_v33_la_SOURCES = $(BROADCOM_PER_VERSION_SOURCES)
+libbroadcom_v33_la_CFLAGS = -DV3D_VERSION=33
+libbroadcom_v41_la_SOURCES = $(BROADCOM_PER_VERSION_SOURCES)
+libbroadcom_v41_la_CFLAGS = -DV3D_VERSION=41
+libbroadcom_v42_la_SOURCES = $(BROADCOM_PER_VERSION_SOURCES)
+libbroadcom_v42_la_CFLAGS = -DV3D_VERSION=42
libbroadcom_la_SOURCES = $(BROADCOM_FILES)
LDADD = \
libbroadcom.la \
@@ -624,7 +702,7 @@ all: $(BUILT_SOURCES)
.SUFFIXES:
.SUFFIXES: _pack.h .xml .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.sources $(srcdir)/Makefile.genxml.am $(srcdir)/Makefile.cle.am $(srcdir)/Makefile.vc5.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.sources $(srcdir)/Makefile.genxml.am $(srcdir)/Makefile.cle.am $(srcdir)/Makefile.v3d.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -645,7 +723,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
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 $(srcdir)/Makefile.genxml.am $(srcdir)/Makefile.cle.am $(srcdir)/Makefile.vc5.am:
+$(srcdir)/Makefile.sources $(srcdir)/Makefile.genxml.am $(srcdir)/Makefile.cle.am $(srcdir)/Makefile.v3d.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -721,6 +799,13 @@ cle/cle_libbroadcom_cle_la-v3d_decoder.lo: cle/$(am__dirstamp) \
cle/$(DEPDIR)/$(am__dirstamp)
cle/libbroadcom_cle.la: $(cle_libbroadcom_cle_la_OBJECTS) $(cle_libbroadcom_cle_la_DEPENDENCIES) $(EXTRA_cle_libbroadcom_cle_la_DEPENDENCIES) cle/$(am__dirstamp)
$(AM_V_CCLD)$(cle_libbroadcom_cle_la_LINK) $(cle_libbroadcom_cle_la_OBJECTS) $(cle_libbroadcom_cle_la_LIBADD) $(LIBS)
+clif/$(am__dirstamp):
+ @$(MKDIR_P) clif
+ @: > clif/$(am__dirstamp)
+clif/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) clif/$(DEPDIR)
+ @: > clif/$(DEPDIR)/$(am__dirstamp)
+clif/clif_dump.lo: clif/$(am__dirstamp) clif/$(DEPDIR)/$(am__dirstamp)
common/$(am__dirstamp):
@$(MKDIR_P) common
@: > common/$(am__dirstamp)
@@ -729,13 +814,6 @@ common/$(DEPDIR)/$(am__dirstamp):
@: > common/$(DEPDIR)/$(am__dirstamp)
common/v3d_debug.lo: common/$(am__dirstamp) \
common/$(DEPDIR)/$(am__dirstamp)
-clif/$(am__dirstamp):
- @$(MKDIR_P) clif
- @: > clif/$(am__dirstamp)
-clif/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) clif/$(DEPDIR)
- @: > clif/$(DEPDIR)/$(am__dirstamp)
-clif/clif_dump.lo: clif/$(am__dirstamp) clif/$(DEPDIR)/$(am__dirstamp)
compiler/$(am__dirstamp):
@$(MKDIR_P) compiler
@: > compiler/$(am__dirstamp)
@@ -756,6 +834,8 @@ compiler/vir_opt_copy_propagate.lo: compiler/$(am__dirstamp) \
compiler/$(DEPDIR)/$(am__dirstamp)
compiler/vir_opt_dead_code.lo: compiler/$(am__dirstamp) \
compiler/$(DEPDIR)/$(am__dirstamp)
+compiler/vir_opt_small_immediates.lo: compiler/$(am__dirstamp) \
+ compiler/$(DEPDIR)/$(am__dirstamp)
compiler/vir_register_allocate.lo: compiler/$(am__dirstamp) \
compiler/$(DEPDIR)/$(am__dirstamp)
compiler/vir_to_qpu.lo: compiler/$(am__dirstamp) \
@@ -764,8 +844,16 @@ compiler/qpu_schedule.lo: compiler/$(am__dirstamp) \
compiler/$(DEPDIR)/$(am__dirstamp)
compiler/qpu_validate.lo: compiler/$(am__dirstamp) \
compiler/$(DEPDIR)/$(am__dirstamp)
+compiler/v3d33_tex.lo: compiler/$(am__dirstamp) \
+ compiler/$(DEPDIR)/$(am__dirstamp)
+compiler/v3d33_vpm_setup.lo: compiler/$(am__dirstamp) \
+ compiler/$(DEPDIR)/$(am__dirstamp)
+compiler/v3d40_tex.lo: compiler/$(am__dirstamp) \
+ compiler/$(DEPDIR)/$(am__dirstamp)
compiler/v3d_nir_lower_io.lo: compiler/$(am__dirstamp) \
compiler/$(DEPDIR)/$(am__dirstamp)
+compiler/v3d_nir_lower_txf_ms.lo: compiler/$(am__dirstamp) \
+ compiler/$(DEPDIR)/$(am__dirstamp)
qpu/$(am__dirstamp):
@$(MKDIR_P) qpu
@: > qpu/$(am__dirstamp)
@@ -777,6 +865,18 @@ qpu/qpu_instr.lo: qpu/$(am__dirstamp) qpu/$(DEPDIR)/$(am__dirstamp)
qpu/qpu_pack.lo: qpu/$(am__dirstamp) qpu/$(DEPDIR)/$(am__dirstamp)
libbroadcom.la: $(libbroadcom_la_OBJECTS) $(libbroadcom_la_DEPENDENCIES) $(EXTRA_libbroadcom_la_DEPENDENCIES)
$(AM_V_CCLD)$(libbroadcom_la_LINK) $(libbroadcom_la_OBJECTS) $(libbroadcom_la_LIBADD) $(LIBS)
+clif/libbroadcom_v33_la-v3dx_dump.lo: clif/$(am__dirstamp) \
+ clif/$(DEPDIR)/$(am__dirstamp)
+libbroadcom_v33.la: $(libbroadcom_v33_la_OBJECTS) $(libbroadcom_v33_la_DEPENDENCIES) $(EXTRA_libbroadcom_v33_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libbroadcom_v33_la_LINK) $(libbroadcom_v33_la_OBJECTS) $(libbroadcom_v33_la_LIBADD) $(LIBS)
+clif/libbroadcom_v41_la-v3dx_dump.lo: clif/$(am__dirstamp) \
+ clif/$(DEPDIR)/$(am__dirstamp)
+libbroadcom_v41.la: $(libbroadcom_v41_la_OBJECTS) $(libbroadcom_v41_la_DEPENDENCIES) $(EXTRA_libbroadcom_v41_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libbroadcom_v41_la_LINK) $(libbroadcom_v41_la_OBJECTS) $(libbroadcom_v41_la_LIBADD) $(LIBS)
+clif/libbroadcom_v42_la-v3dx_dump.lo: clif/$(am__dirstamp) \
+ clif/$(DEPDIR)/$(am__dirstamp)
+libbroadcom_v42.la: $(libbroadcom_v42_la_OBJECTS) $(libbroadcom_v42_la_DEPENDENCIES) $(EXTRA_libbroadcom_v42_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libbroadcom_v42_la_LINK) $(libbroadcom_v42_la_OBJECTS) $(libbroadcom_v42_la_LIBADD) $(LIBS)
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
@@ -826,17 +926,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@cle/$(DEPDIR)/cle_libbroadcom_cle_la-v3d_decoder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@clif/$(DEPDIR)/clif_dump.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@clif/$(DEPDIR)/libbroadcom_v33_la-v3dx_dump.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@clif/$(DEPDIR)/libbroadcom_v41_la-v3dx_dump.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@clif/$(DEPDIR)/libbroadcom_v42_la-v3dx_dump.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/v3d_debug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/nir_to_vir.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/qpu_schedule.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/qpu_validate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/v3d33_tex.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/v3d33_vpm_setup.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/v3d40_tex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/v3d_nir_lower_io.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/v3d_nir_lower_txf_ms.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_dump.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_live_variables.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_lower_uniforms.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_opt_copy_propagate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_opt_dead_code.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_opt_small_immediates.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_register_allocate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@compiler/$(DEPDIR)/vir_to_qpu.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@qpu/$(DEPDIR)/qpu_disasm.Plo@am__quote@
@@ -875,6 +983,27 @@ cle/cle_libbroadcom_cle_la-v3d_decoder.lo: cle/v3d_decoder.c
@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) $(cle_libbroadcom_cle_la_CFLAGS) $(CFLAGS) -c -o cle/cle_libbroadcom_cle_la-v3d_decoder.lo `test -f 'cle/v3d_decoder.c' || echo '$(srcdir)/'`cle/v3d_decoder.c
+clif/libbroadcom_v33_la-v3dx_dump.lo: clif/v3dx_dump.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) $(libbroadcom_v33_la_CFLAGS) $(CFLAGS) -MT clif/libbroadcom_v33_la-v3dx_dump.lo -MD -MP -MF clif/$(DEPDIR)/libbroadcom_v33_la-v3dx_dump.Tpo -c -o clif/libbroadcom_v33_la-v3dx_dump.lo `test -f 'clif/v3dx_dump.c' || echo '$(srcdir)/'`clif/v3dx_dump.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) clif/$(DEPDIR)/libbroadcom_v33_la-v3dx_dump.Tpo clif/$(DEPDIR)/libbroadcom_v33_la-v3dx_dump.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='clif/v3dx_dump.c' object='clif/libbroadcom_v33_la-v3dx_dump.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) $(libbroadcom_v33_la_CFLAGS) $(CFLAGS) -c -o clif/libbroadcom_v33_la-v3dx_dump.lo `test -f 'clif/v3dx_dump.c' || echo '$(srcdir)/'`clif/v3dx_dump.c
+
+clif/libbroadcom_v41_la-v3dx_dump.lo: clif/v3dx_dump.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) $(libbroadcom_v41_la_CFLAGS) $(CFLAGS) -MT clif/libbroadcom_v41_la-v3dx_dump.lo -MD -MP -MF clif/$(DEPDIR)/libbroadcom_v41_la-v3dx_dump.Tpo -c -o clif/libbroadcom_v41_la-v3dx_dump.lo `test -f 'clif/v3dx_dump.c' || echo '$(srcdir)/'`clif/v3dx_dump.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) clif/$(DEPDIR)/libbroadcom_v41_la-v3dx_dump.Tpo clif/$(DEPDIR)/libbroadcom_v41_la-v3dx_dump.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='clif/v3dx_dump.c' object='clif/libbroadcom_v41_la-v3dx_dump.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) $(libbroadcom_v41_la_CFLAGS) $(CFLAGS) -c -o clif/libbroadcom_v41_la-v3dx_dump.lo `test -f 'clif/v3dx_dump.c' || echo '$(srcdir)/'`clif/v3dx_dump.c
+
+clif/libbroadcom_v42_la-v3dx_dump.lo: clif/v3dx_dump.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) $(libbroadcom_v42_la_CFLAGS) $(CFLAGS) -MT clif/libbroadcom_v42_la-v3dx_dump.lo -MD -MP -MF clif/$(DEPDIR)/libbroadcom_v42_la-v3dx_dump.Tpo -c -o clif/libbroadcom_v42_la-v3dx_dump.lo `test -f 'clif/v3dx_dump.c' || echo '$(srcdir)/'`clif/v3dx_dump.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) clif/$(DEPDIR)/libbroadcom_v42_la-v3dx_dump.Tpo clif/$(DEPDIR)/libbroadcom_v42_la-v3dx_dump.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='clif/v3dx_dump.c' object='clif/libbroadcom_v42_la-v3dx_dump.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) $(libbroadcom_v42_la_CFLAGS) $(CFLAGS) -c -o clif/libbroadcom_v42_la-v3dx_dump.lo `test -f 'clif/v3dx_dump.c' || echo '$(srcdir)/'`clif/v3dx_dump.c
+
mostlyclean-libtool:
-rm -f *.lo
@@ -1224,12 +1353,24 @@ uninstall-am: uninstall-libLTLIBRARIES
$(BROADCOM_GENXML_GENERATED_FILES): cle/gen_pack_header.py
-.xml_pack.h:
- $(MKDIR_GEN)
- $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< > $@ || ($(RM) $@; false)
-cle/v3d_xml.h: $(GEN_ZIPPED) $(BROADCOM_GENXML_XML_FILES)
- $(MKDIR_GEN)
- $(PYTHON_GEN) $(GEN_ZIPPED) $(BROADCOM_GENXML_XML_FILES:%=$(srcdir)/%) > $@ || ($(RM) $@; false)
+@REGEN_SOURCES_TRUE@cle/v3d_packet_v21_pack.h: $(srcdir)/cle/v3d_packet_v21.xml $(srcdir)/cle/gen_pack_header.py
+@REGEN_SOURCES_TRUE@ $(MKDIR_GEN)
+@REGEN_SOURCES_TRUE@ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 21 > $@ || ($(RM) $@; false)
+
+@REGEN_SOURCES_TRUE@cle/v3d_packet_v33_pack.h: $(srcdir)/cle/v3d_packet_v33.xml $(srcdir)/cle/gen_pack_header.py
+@REGEN_SOURCES_TRUE@ $(MKDIR_GEN)
+@REGEN_SOURCES_TRUE@ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 33 > $@ || ($(RM) $@; false)
+
+@REGEN_SOURCES_TRUE@cle/v3d_packet_v41_pack.h: $(srcdir)/cle/v3d_packet_v33.xml $(srcdir)/cle/gen_pack_header.py
+@REGEN_SOURCES_TRUE@ $(MKDIR_GEN)
+@REGEN_SOURCES_TRUE@ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 41 > $@ || ($(RM) $@; false)
+
+@REGEN_SOURCES_TRUE@cle/v3d_packet_v42_pack.h: $(srcdir)/cle/v3d_packet_v33.xml $(srcdir)/cle/gen_pack_header.py
+@REGEN_SOURCES_TRUE@ $(MKDIR_GEN)
+@REGEN_SOURCES_TRUE@ $(PYTHON_GEN) $(srcdir)/cle/gen_pack_header.py $< 42 > $@ || ($(RM) $@; false)
+@REGEN_SOURCES_TRUE@cle/v3d_xml.h: $(GEN_ZIPPED) $(BROADCOM_GENXML_XML_FILES)
+@REGEN_SOURCES_TRUE@ $(MKDIR_GEN)
+@REGEN_SOURCES_TRUE@ $(PYTHON_GEN) $(GEN_ZIPPED) $(BROADCOM_GENXML_XML_FILES:%=$(srcdir)/%) > $@ || ($(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.
diff --git a/lib/mesa/src/broadcom/Makefile.sources b/lib/mesa/src/broadcom/Makefile.sources
index b60d2bcaa..5955acdef 100644
--- a/lib/mesa/src/broadcom/Makefile.sources
+++ b/lib/mesa/src/broadcom/Makefile.sources
@@ -1,6 +1,8 @@
BROADCOM_GENXML_GENERATED_FILES = \
cle/v3d_packet_v21_pack.h \
cle/v3d_packet_v33_pack.h \
+ cle/v3d_packet_v41_pack.h \
+ cle/v3d_packet_v42_pack.h \
cle/v3d_xml.h \
$()
@@ -11,11 +13,14 @@ BROADCOM_GENXML_XML_FILES = \
BROADCOM_FILES = \
cle/v3d_packet_helpers.h \
- common/v3d_debug.c \
- common/v3d_debug.h \
+ cle/v3dx_pack.h\
clif/clif_dump.c \
clif/clif_dump.h \
+ clif/clif_private.h \
+ common/v3d_debug.c \
+ common/v3d_debug.h \
common/v3d_device_info.h \
+ common/v3d_macros.h \
compiler/nir_to_vir.c \
compiler/vir.c \
compiler/vir_dump.c \
@@ -23,12 +28,17 @@ BROADCOM_FILES = \
compiler/vir_lower_uniforms.c \
compiler/vir_opt_copy_propagate.c \
compiler/vir_opt_dead_code.c \
+ compiler/vir_opt_small_immediates.c \
compiler/vir_register_allocate.c \
compiler/vir_to_qpu.c \
compiler/qpu_schedule.c \
compiler/qpu_validate.c \
+ compiler/v3d33_tex.c \
+ compiler/v3d33_vpm_setup.c \
+ compiler/v3d40_tex.c \
compiler/v3d_compiler.h \
compiler/v3d_nir_lower_io.c \
+ compiler/v3d_nir_lower_txf_ms.c \
qpu/qpu_disasm.c \
qpu/qpu_disasm.h \
qpu/qpu_instr.c \
@@ -36,6 +46,10 @@ BROADCOM_FILES = \
qpu/qpu_pack.c \
$()
+BROADCOM_PER_VERSION_SOURCES = \
+ clif/v3dx_dump.c \
+ $()
+
BROADCOM_DECODER_FILES = \
cle/v3d_decoder.c \
cle/v3d_decoder.h \
diff --git a/lib/mesa/src/broadcom/Makefile.vc5.am b/lib/mesa/src/broadcom/Makefile.vc5.am
deleted file mode 100644
index 3e8e28bc9..000000000
--- a/lib/mesa/src/broadcom/Makefile.vc5.am
+++ /dev/null
@@ -1,20 +0,0 @@
-noinst_LTLIBRARIES += libbroadcom.la
-
-if USE_VC5_SIMULATOR
-AM_CFLAGS += $(VC5_SIMULATOR_CFLAGS)
-libbroadcom_la_LDFLAGS = $(VC5_SIMULATOR_LIBS)
-endif
-
-libbroadcom_la_SOURCES = $(BROADCOM_FILES)
-
-check_PROGRAMS += \
- qpu/tests/qpu_disasm \
- $(NULL)
-
-LDADD = \
- libbroadcom.la \
- $(top_builddir)/src/compiler/nir/libnir.la \
- $(top_builddir)/src/util/libmesautil.la \
- $(NULL)
-
-TESTS += $(check_PROGRAMS)
diff --git a/lib/mesa/src/broadcom/cle/gen_pack_header.py b/lib/mesa/src/broadcom/cle/gen_pack_header.py
index badcc2c58..f79ee42df 100644
--- a/lib/mesa/src/broadcom/cle/gen_pack_header.py
+++ b/lib/mesa/src/broadcom/cle/gen_pack_header.py
@@ -43,7 +43,7 @@ pack_header = """%(license)s
#ifndef %(guard)s
#define %(guard)s
-#include "v3d_packet_helpers.h"
+#include "cle/v3d_packet_helpers.h"
"""
@@ -82,6 +82,11 @@ def safe_name(name):
return name
+def prefixed_upper_name(prefix, name):
+ if prefix:
+ name = prefix + "_" + name
+ return safe_name(name).upper()
+
def num_from_str(num_str):
if num_str.lower().startswith('0x'):
return int(num_str, base=16)
@@ -111,6 +116,9 @@ class Field(object):
self.end = self.start + int(attrs["size"]) - 1
self.type = attrs["type"]
+ if self.type == 'bool' and self.start != self.end:
+ print("#error Field {} has bool type but more than one bit of size".format(self.name));
+
if "prefix" in attrs:
self.prefix = safe_name(attrs["prefix"]).upper()
else:
@@ -121,6 +129,12 @@ class Field(object):
else:
self.default = None
+ if "minus_one" in attrs:
+ assert(attrs["minus_one"] == "true")
+ self.minus_one = True
+ else:
+ self.minus_one = False
+
ufixed_match = Field.ufixed_pattern.match(self.type)
if ufixed_match:
self.type = 'ufixed'
@@ -138,6 +152,8 @@ class Field(object):
type = 'bool'
elif self.type == 'float':
type = 'float'
+ elif self.type == 'f187':
+ type = 'float'
elif self.type == 'ufixed':
type = 'float'
elif self.type == 'sfixed':
@@ -158,18 +174,13 @@ class Field(object):
return
else:
print("#error unhandled type: %s" % self.type)
+ type = "uint32_t"
print(" %-36s %s%s;" % (type, self.name, dim))
- if len(self.values) > 0 and self.default == None:
- if self.prefix:
- prefix = self.prefix + "_"
- else:
- prefix = ""
-
for value in self.values:
- print("#define %-40s %d" % ((prefix + value.name).replace("__", "_"),
- value.value))
+ name = prefixed_upper_name(self.prefix, value.name)
+ print("#define %-40s %d" % (name, value.value))
def overlaps(self, field):
return self != field and max(self.start, field.start) <= min(self.end, field.end)
@@ -183,6 +194,8 @@ class Group(object):
self.count = count
self.size = 0
self.fields = []
+ self.min_ver = 0
+ self.max_ver = 0
def emit_template_struct(self, dim):
if self.count == 0:
@@ -205,7 +218,7 @@ class Group(object):
first_byte = field.start // 8
last_byte = field.end // 8
- for b in xrange(first_byte, last_byte + 1):
+ for b in range(first_byte, last_byte + 1):
if not b in bytes:
bytes[b] = self.Byte()
@@ -225,6 +238,10 @@ class Group(object):
relocs_emitted = set()
memcpy_fields = set()
+ for field in self.fields:
+ if field.minus_one:
+ print(" assert(values->%s >= 1);" % field.name)
+
for index in range(self.length):
# Handle MBZ bytes
if not index in bytes:
@@ -249,7 +266,7 @@ class Group(object):
# uints/ints with no merged fields.
if len(byte.fields) == 1:
field = byte.fields[0]
- if field.type in ["float", "uint", "int"] and field.start % 8 == 0 and field.end - field.start == 31:
+ if field.type in ["float", "uint", "int"] and field.start % 8 == 0 and field.end - field.start == 31 and not field.minus_one:
if field in memcpy_fields:
continue
@@ -276,35 +293,44 @@ class Group(object):
field_byte_start = (field.start // 8) * 8
start -= field_byte_start
end -= field_byte_start
+ extra_shift = 0
+
+ value = "values->%s" % name
+ if field.minus_one:
+ value = "%s - 1" % value
if field.type == "mbo":
s = "__gen_mbo(%d, %d)" % \
(start, end)
elif field.type == "address":
+ extra_shift = (31 - (end - start)) // 8 * 8
s = "__gen_address_offset(&values->%s)" % byte.address.name
elif field.type == "uint":
- s = "__gen_uint(values->%s, %d, %d)" % \
- (name, start, end)
+ s = "__gen_uint(%s, %d, %d)" % \
+ (value, start, end)
elif field.type in self.parser.enums:
- s = "__gen_uint(values->%s, %d, %d)" % \
- (name, start, end)
+ s = "__gen_uint(%s, %d, %d)" % \
+ (value, start, end)
elif field.type == "int":
- s = "__gen_sint(values->%s, %d, %d)" % \
- (name, start, end)
+ s = "__gen_sint(%s, %d, %d)" % \
+ (value, start, end)
elif field.type == "bool":
- s = "__gen_uint(values->%s, %d, %d)" % \
- (name, start, end)
+ s = "__gen_uint(%s, %d, %d)" % \
+ (value, start, end)
elif field.type == "float":
s = "#error %s float value mixed in with other fields" % name
+ elif field.type == "f187":
+ s = "__gen_uint(fui(%s) >> 16, %d, %d)" % \
+ (value, start, end)
elif field.type == "offset":
- s = "__gen_offset(values->%s, %d, %d)" % \
- (name, start, end)
+ s = "__gen_offset(%s, %d, %d)" % \
+ (value, start, end)
elif field.type == 'ufixed':
- s = "__gen_ufixed(values->%s, %d, %d, %d)" % \
- (name, start, end, field.fractional_size)
+ s = "__gen_ufixed(%s, %d, %d, %d)" % \
+ (value, start, end, field.fractional_size)
elif field.type == 'sfixed':
- s = "__gen_sfixed(values->%s, %d, %d, %d)" % \
- (name, start, end, field.fractional_size)
+ s = "__gen_sfixed(%s, %d, %d, %d)" % \
+ (value, start, end, field.fractional_size)
elif field.type in self.parser.structs:
s = "__gen_uint(v%d_%d, %d, %d)" % \
(index, field_index, start, end)
@@ -314,8 +340,9 @@ class Group(object):
s = None
if not s == None:
- if byte_start - field_byte_start != 0:
- s = "%s >> %d" % (s, byte_start - field_byte_start)
+ shift = byte_start - field_byte_start + extra_shift
+ if shift:
+ s = "%s >> %d" % (s, shift)
if field == byte.fields[-1]:
print("%s %s;" % (prefix, s))
@@ -348,6 +375,8 @@ class Group(object):
convert = "__gen_unpack_uint"
elif field.type == "float":
convert = "__gen_unpack_float"
+ elif field.type == "f187":
+ convert = "__gen_unpack_f187"
elif field.type == "offset":
convert = "__gen_unpack_offset"
elif field.type == 'ufixed':
@@ -357,19 +386,22 @@ class Group(object):
args.append(str(field.fractional_size))
convert = "__gen_unpack_sfixed"
else:
- print("/* unhandled field %s, type %s */\n" % (name, field.type))
+ print("/* unhandled field %s, type %s */\n" % (field.name, field.type))
s = None
- print(" values->%s = %s(%s);" % \
- (field.name, convert, ', '.join(args)))
+ plusone = ""
+ if field.minus_one:
+ plusone = " + 1"
+ print(" values->%s = %s(%s)%s;" % \
+ (field.name, convert, ', '.join(args), plusone))
class Value(object):
def __init__(self, attrs):
- self.name = safe_name(attrs["name"]).upper()
+ self.name = attrs["name"]
self.value = int(attrs["value"])
class Parser(object):
- def __init__(self):
+ def __init__(self, ver):
self.parser = xml.parsers.expat.ParserCreate()
self.parser.StartElementHandler = self.start_element
self.parser.EndElementHandler = self.end_element
@@ -380,6 +412,7 @@ class Parser(object):
# Set of enum names we've seen.
self.enums = set()
self.registers = {}
+ self.ver = ver
def gen_prefix(self, name):
if name[0] == "_":
@@ -390,10 +423,27 @@ class Parser(object):
def gen_guard(self):
return self.gen_prefix("PACK_H")
+ def attrs_version_valid(self, attrs):
+ if "min_ver" in attrs and self.ver < attrs["min_ver"]:
+ return False
+
+ if "max_ver" in attrs and self.ver > attrs["max_ver"]:
+ return False
+
+ return True
+
+ def group_enabled(self):
+ if self.group.min_ver != 0 and self.ver < self.group.min_ver:
+ return False
+
+ if self.group.max_ver != 0 and self.ver > self.group.max_ver:
+ return False
+
+ return True
+
def start_element(self, name, attrs):
if name == "vcxml":
- self.platform = "V3D {}".format(attrs["gen"])
- self.ver = attrs["gen"].replace('.', '')
+ self.platform = "V3D {}.{}".format(self.ver[0], self.ver[1])
print(pack_header % {'license': license, 'platform': self.platform, 'guard': self.gen_guard()})
elif name in ("packet", "struct", "register"):
default_field = None
@@ -426,6 +476,11 @@ class Parser(object):
field.values = []
self.group.fields.append(field)
+ if "min_ver" in attrs:
+ self.group.min_ver = attrs["min_ver"]
+ if "max_ver" in attrs:
+ self.group.max_ver = attrs["max_ver"]
+
elif name == "field":
self.group.fields.append(Field(self, attrs))
self.values = []
@@ -433,12 +488,14 @@ class Parser(object):
self.values = []
self.enum = safe_name(attrs["name"])
self.enums.add(attrs["name"])
+ self.enum_enabled = self.attrs_version_valid(attrs)
if "prefix" in attrs:
- self.prefix = safe_name(attrs["prefix"])
+ self.prefix = attrs["prefix"]
else:
self.prefix= None
elif name == "value":
- self.values.append(Value(attrs))
+ if self.attrs_version_valid(attrs):
+ self.values.append(Value(attrs))
def end_element(self, name):
if name == "packet":
@@ -457,7 +514,8 @@ class Parser(object):
elif name == "field":
self.group.fields[-1].values = self.values
elif name == "enum":
- self.emit_enum()
+ if self.enum_enabled:
+ self.emit_enum()
self.enum = None
elif name == "vcxml":
print('#endif /* %s */' % self.gen_guard())
@@ -502,6 +560,9 @@ class Parser(object):
print('')
def emit_packet(self):
+ if not self.group_enabled():
+ return
+
name = self.packet
assert(self.group.fields[0].name == "opcode")
@@ -516,6 +577,9 @@ class Parser(object):
print('')
def emit_register(self):
+ if not self.group_enabled():
+ return
+
name = self.register
if not self.reg_num == None:
print('#define %-33s 0x%04x' %
@@ -526,6 +590,9 @@ class Parser(object):
self.emit_unpack_function(self.register, self.group)
def emit_struct(self):
+ if not self.group_enabled():
+ return
+
name = self.struct
self.emit_header(name)
@@ -538,11 +605,11 @@ class Parser(object):
def emit_enum(self):
print('enum %s {' % self.gen_prefix(self.enum))
for value in self.values:
+ name = value.name
if self.prefix:
- name = self.prefix + "_" + value.name
- else:
- name = value.name
- print(' % -36s = %6d,' % (name.upper(), value.value))
+ name = self.prefix + "_" + name
+ name = safe_name(name).upper()
+ print(' % -36s = %6d,' % (name, value.value))
print('};\n')
def parse(self, filename):
@@ -556,5 +623,5 @@ if len(sys.argv) < 2:
input_file = sys.argv[1]
-p = Parser()
+p = Parser(sys.argv[2])
p.parse(input_file)
diff --git a/lib/mesa/src/broadcom/cle/v3d_packet_helpers.h b/lib/mesa/src/broadcom/cle/v3d_packet_helpers.h
index c86cad852..c46089a0e 100644
--- a/lib/mesa/src/broadcom/cle/v3d_packet_helpers.h
+++ b/lib/mesa/src/broadcom/cle/v3d_packet_helpers.h
@@ -26,12 +26,15 @@
#include <stdbool.h>
#include <assert.h>
#include <math.h>
+#include "util/u_math.h"
#ifdef HAVE_VALGRIND
#include <valgrind.h>
#include <memcheck.h>
#define VG(x) x
+#ifndef NDEBUG
#define __gen_validate_value(x) VALGRIND_CHECK_MEM_IS_DEFINED(&(x), sizeof(x))
+#endif
#else
#define VG(x)
#endif
@@ -64,7 +67,7 @@ __gen_uint(uint64_t v, uint32_t start, uint32_t end)
{
__gen_validate_value(v);
-#if DEBUG
+#ifndef NDEBUG
const int width = end - start + 1;
if (width < 64) {
const uint64_t max = (1ull << width) - 1;
@@ -82,7 +85,7 @@ __gen_sint(int64_t v, uint32_t start, uint32_t end)
__gen_validate_value(v);
-#if DEBUG
+#ifndef NDEBUG
if (width < 64) {
const int64_t max = (1ll << (width - 1)) - 1;
const int64_t min = -(1ll << (width - 1));
@@ -99,7 +102,7 @@ static inline uint64_t
__gen_offset(uint64_t v, uint32_t start, uint32_t end)
{
__gen_validate_value(v);
-#if DEBUG
+#ifndef NDEBUG
uint64_t mask = (~0ull >> (64 - (end - start + 1))) << start;
assert((v & ~mask) == 0);
@@ -122,7 +125,7 @@ __gen_sfixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits)
const float factor = (1 << fract_bits);
-#if DEBUG
+#ifndef NDEBUG
const float max = ((1 << (end - start)) - 1) / factor;
const float min = -(1 << (end - start)) / factor;
assert(min <= v && v <= max);
@@ -141,7 +144,7 @@ __gen_ufixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits)
const float factor = (1 << fract_bits);
-#if DEBUG
+#ifndef NDEBUG
const float max = ((1 << (end - start + 1)) - 1) / factor;
const float min = 0.0f;
assert(min <= v && v <= max);
@@ -203,3 +206,11 @@ __gen_unpack_float(const uint8_t *restrict cl, uint32_t start, uint32_t end)
return f->f;
}
+static inline float
+__gen_unpack_f187(const uint8_t *restrict cl, uint32_t start, uint32_t end)
+{
+ assert(end - start == 15);
+ uint32_t bits = __gen_unpack_uint(cl, start, end);
+ return uif(bits << 16);
+}
+
diff --git a/lib/mesa/src/broadcom/cle/v3d_packet_v21.xml b/lib/mesa/src/broadcom/cle/v3d_packet_v21.xml
index 3721815c2..df838a708 100644
--- a/lib/mesa/src/broadcom/cle/v3d_packet_v21.xml
+++ b/lib/mesa/src/broadcom/cle/v3d_packet_v21.xml
@@ -1,4 +1,26 @@
-<vcxml gen="2.1">
+<vcxml gen="2.1" min_ver="21" max_ver="21">
+
+ <enum name="Compare Function" prefix="V3D_COMPARE_FUNC">
+ <value name="NEVER" value="0"/>
+ <value name="LESS" value="1"/>
+ <value name="EQUAL" value="2"/>
+ <value name="LEQUAL" value="3"/>
+ <value name="GREATER" value="4"/>
+ <value name="NOTEQUAL" value="5"/>
+ <value name="GEQUAL" value="6"/>
+ <value name="ALWAYS" value="7"/>
+ </enum>
+
+ <enum name="Primitive" prefix="V3D_PRIM">
+ <value name="POINTS" value="0"/>
+ <value name="LINES" value="1"/>
+ <value name="LINE_LOOP" value="2"/>
+ <value name="LINE_STRIP" value="3"/>
+ <value name="TRIANGLES" value="4"/>
+ <value name="TRIANGLE_STRIP" value="5"/>
+ <value name="TRIANGLE_FAN" value="6"/>
+ </enum>
+
<packet name="Halt" code="0"/>
<packet name="NOP" code="1"/>
<packet name="Flush" code="4" cl="B"/>
@@ -109,29 +131,13 @@
<value name="8-bit" value="0"/>
<value name="16-bit" value="1"/>
</field>
- <field name="Primitive mode" size="4" start="0" type="uint">
- <value name="points" value="0"/>
- <value name="lines" value="1"/>
- <value name="line loop" value="2"/>
- <value name="line strip" value="3"/>
- <value name="triangles" value="4"/>
- <value name="triangles strip" value="5"/>
- <value name="triangles fan" value="6"/>
- </field>
+ <field name="Primitive mode" size="4" start="0" type="Primitive"/>
</packet>
<packet name="Vertex Array Primitives" code="33">
<field name="Index of First Vertex" size="32" start="40" type="uint"/>
<field name="Length" size="32" start="8" type="uint"/>
- <field name="Primitive mode" size="4" start="0" type="uint">
- <value name="points" value="0"/>
- <value name="lines" value="1"/>
- <value name="line loop" value="2"/>
- <value name="line strip" value="3"/>
- <value name="triangles" value="4"/>
- <value name="triangles strip" value="5"/>
- <value name="triangles fan" value="6"/>
- </field>
+ <field name="Primitive mode" size="4" start="0" type="Primitive"/>
</packet>
<packet name="Primitive List Format" cl="R" code="56">
@@ -166,12 +172,11 @@
<field name="Early Z updates enable" size="1" start="17" type="bool"/>
<field name="Early Z enable" size="1" start="16" type="bool"/>
<field name="Z updates enable" size="1" start="15" type="bool"/>
- <field name="Depth-Test Function" size="3" start="12" type="uint"/>
- <!-- add values -->
+ <field name="Depth-Test Function" size="3" start="12" type="Compare Function"/>
<field name="Coverage Read Mode" size="1" start="11" type="uint"/>
<!-- add values -->
<field name="Coverage Pipe Select" size="1" start="8" type="bool"/>
- <field name="Rasteriser Oversample Mode" size="2" start="6" type="bool"/>
+ <field name="Rasteriser Oversample Mode" size="2" start="6" type="uint"/>
<!-- add values -->
<field name="Coverage Read Type" size="1" start="5" type="uint"/>
<!-- add values -->
diff --git a/lib/mesa/src/broadcom/cle/v3d_packet_v21_pack.h b/lib/mesa/src/broadcom/cle/v3d_packet_v21_pack.h
index e28d9d954..c84ea27e2 100644
--- a/lib/mesa/src/broadcom/cle/v3d_packet_v21_pack.h
+++ b/lib/mesa/src/broadcom/cle/v3d_packet_v21_pack.h
@@ -9,8 +9,29 @@
#ifndef V3D21_PACK_H
#define V3D21_PACK_H
-#include "v3d_packet_helpers.h"
+#include "cle/v3d_packet_helpers.h"
+
+
+enum V3D21_Compare_Function {
+ V3D_COMPARE_FUNC_NEVER = 0,
+ V3D_COMPARE_FUNC_LESS = 1,
+ V3D_COMPARE_FUNC_EQUAL = 2,
+ V3D_COMPARE_FUNC_LEQUAL = 3,
+ V3D_COMPARE_FUNC_GREATER = 4,
+ V3D_COMPARE_FUNC_NOTEQUAL = 5,
+ V3D_COMPARE_FUNC_GEQUAL = 6,
+ V3D_COMPARE_FUNC_ALWAYS = 7,
+};
+enum V3D21_Primitive {
+ V3D_PRIM_POINTS = 0,
+ V3D_PRIM_LINES = 1,
+ V3D_PRIM_LINE_LOOP = 2,
+ V3D_PRIM_LINE_STRIP = 3,
+ V3D_PRIM_TRIANGLES = 4,
+ V3D_PRIM_TRIANGLE_STRIP = 5,
+ V3D_PRIM_TRIANGLE_FAN = 6,
+};
#define V3D21_HALT_opcode 0
#define V3D21_HALT_header \
@@ -626,14 +647,7 @@ struct V3D21_INDEXED_PRIMITIVE_LIST {
uint32_t index_type;
#define _8_BIT 0
#define _16_BIT 1
- uint32_t primitive_mode;
-#define POINTS 0
-#define LINES 1
-#define LINE_LOOP 2
-#define LINE_STRIP 3
-#define TRIANGLES 4
-#define TRIANGLES_STRIP 5
-#define TRIANGLES_FAN 6
+ enum V3D21_Primitive primitive_mode;
};
static inline void
@@ -677,14 +691,7 @@ struct V3D21_VERTEX_ARRAY_PRIMITIVES {
uint32_t opcode;
uint32_t index_of_first_vertex;
uint32_t length;
- uint32_t primitive_mode;
-#define POINTS 0
-#define LINES 1
-#define LINE_LOOP 2
-#define LINE_STRIP 3
-#define TRIANGLES 4
-#define TRIANGLES_STRIP 5
-#define TRIANGLES_FAN 6
+ enum V3D21_Primitive primitive_mode;
};
static inline void
@@ -868,10 +875,10 @@ struct V3D21_CONFIGURATION_BITS {
bool early_z_updates_enable;
bool early_z_enable;
bool z_updates_enable;
- uint32_t depth_test_function;
+ enum V3D21_Compare_Function depth_test_function;
uint32_t coverage_read_mode;
bool coverage_pipe_select;
- bool rasteriser_oversample_mode;
+ uint32_t rasteriser_oversample_mode;
uint32_t coverage_read_type;
bool antialiased_points_and_lines;
bool enable_depth_offset;
diff --git a/lib/mesa/src/broadcom/common/v3d_device_info.h b/lib/mesa/src/broadcom/common/v3d_device_info.h
index 5685c7a21..b0a2a0215 100644
--- a/lib/mesa/src/broadcom/common/v3d_device_info.h
+++ b/lib/mesa/src/broadcom/common/v3d_device_info.h
@@ -27,13 +27,14 @@
#include <stdint.h>
/**
- * Struct for tracking features of the V3D chip. This is where we'll store
- * boolean flags for features in a specific version, but for now it's just the
- * version
+ * Struct for tracking features of the V3D chip across driver and compiler.
*/
struct v3d_device_info {
/** Simple V3D version: major * 10 + minor */
uint8_t ver;
+
+ /** Size of the VPM, in bytes. */
+ int vpm_size;
};
#endif