mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
libports: add mesa/lima driver
This commit introduces the Mesa3D lima driver for Mali 400 series GPUs. Issue #4559.
This commit is contained in:
committed by
Christian Helmuth
parent
d2c26fd504
commit
da25b288ee
@@ -232,6 +232,7 @@ SRC_C += compiler/glsl/glcpp/pp.c \
|
||||
compiler/nir/nir_lower_drawpixels.c \
|
||||
compiler/nir/nir_lower_flatshade.c \
|
||||
compiler/nir/nir_lower_flrp.c \
|
||||
compiler/nir/nir_lower_fragcoord_wtrans.c \
|
||||
compiler/nir/nir_lower_frexp.c \
|
||||
compiler/nir/nir_lower_global_vars_to_local.c \
|
||||
compiler/nir/nir_lower_goto_ifs.c \
|
||||
@@ -253,6 +254,7 @@ SRC_C += compiler/glsl/glcpp/pp.c \
|
||||
compiler/nir/nir_lower_patch_vertices.c \
|
||||
compiler/nir/nir_lower_phis_to_scalar.c \
|
||||
compiler/nir/nir_lower_pntc_ytransform.c \
|
||||
compiler/nir/nir_lower_point_size.c \
|
||||
compiler/nir/nir_lower_point_size_mov.c \
|
||||
compiler/nir/nir_lower_regs_to_ssa.c \
|
||||
compiler/nir/nir_lower_returns.c \
|
||||
@@ -268,6 +270,7 @@ SRC_C += compiler/glsl/glcpp/pp.c \
|
||||
compiler/nir/nir_lower_variable_initializers.c \
|
||||
compiler/nir/nir_lower_vars_to_ssa.c \
|
||||
compiler/nir/nir_lower_vec_to_movs.c \
|
||||
compiler/nir/nir_lower_viewport_transform.c \
|
||||
compiler/nir/nir_lower_wpos_ytransform.c \
|
||||
compiler/nir/nir_metadata.c \
|
||||
compiler/nir/nir_move_vec_src_uses_to_dest.c \
|
||||
@@ -448,6 +451,7 @@ SRC_C += compiler/glsl/glcpp/pp.c \
|
||||
gallium/auxiliary/util/u_sampler.c \
|
||||
gallium/auxiliary/util/u_screen.c \
|
||||
gallium/auxiliary/util/u_simple_shaders.c \
|
||||
gallium/auxiliary/util/u_split_draw.c \
|
||||
gallium/auxiliary/util/u_surface.c \
|
||||
gallium/auxiliary/util/u_tests.c \
|
||||
gallium/auxiliary/util/u_texture.c \
|
||||
|
||||
@@ -3,5 +3,6 @@ include $(REP_DIR)/lib/mk/libdrm.inc
|
||||
LIBS += vfs_gpu
|
||||
|
||||
include $(call select_from_repositories,lib/import/import-libdrm.mk)
|
||||
include $(call select_from_repositories,lib/import/import-mesa_api.mk)
|
||||
|
||||
SRC_CC := ioctl_dispatch.cc ioctl_etnaviv.cc
|
||||
SRC_CC := ioctl_dispatch.cc ioctl_etnaviv.cc ioctl_lima.cc
|
||||
|
||||
64
repos/libports/lib/mk/spec/arm_v8/lima.mk
Normal file
64
repos/libports/lib/mk/spec/arm_v8/lima.mk
Normal file
@@ -0,0 +1,64 @@
|
||||
LIBS = libc libdrm
|
||||
|
||||
include $(REP_DIR)/lib/mk/mesa-common.inc
|
||||
|
||||
INC_DIR += $(MESA_SRC_DIR)/src/compiler/nir \
|
||||
$(MESA_SRC_DIR)/src/gallium/auxiliary \
|
||||
$(MESA_SRC_DIR)/src/gallium/drivers \
|
||||
$(MESA_SRC_DIR)/src/gallium/drivers/lima \
|
||||
$(MESA_SRC_DIR)/src/panfrost/shared \
|
||||
$(MESA_SRC_DIR)/src/util \
|
||||
$(MESA_GEN_DIR)/src/compiler/nir \
|
||||
$(MESA_PORT_DIR)/include/drm-uapi
|
||||
|
||||
REP_INC_DIR += include/drm-uapi
|
||||
|
||||
SRC_C := \
|
||||
gallium/drivers/lima/lima_draw.c \
|
||||
gallium/drivers/lima/lima_job.c \
|
||||
gallium/drivers/lima/lima_context.c \
|
||||
gallium/drivers/lima/ir/pp/node_to_instr.c \
|
||||
gallium/drivers/lima/ir/pp/liveness.c \
|
||||
gallium/drivers/lima/ir/pp/codegen.c \
|
||||
gallium/drivers/lima/ir/pp/nir.c \
|
||||
gallium/drivers/lima/ir/pp/disasm.c \
|
||||
gallium/drivers/lima/ir/pp/regalloc.c \
|
||||
gallium/drivers/lima/ir/pp/node.c \
|
||||
gallium/drivers/lima/ir/pp/instr.c \
|
||||
gallium/drivers/lima/ir/pp/lower.c \
|
||||
gallium/drivers/lima/ir/pp/scheduler.c \
|
||||
gallium/drivers/lima/ir/gp/codegen.c \
|
||||
gallium/drivers/lima/ir/gp/nir.c \
|
||||
gallium/drivers/lima/ir/gp/disasm.c \
|
||||
gallium/drivers/lima/ir/gp/regalloc.c \
|
||||
gallium/drivers/lima/ir/gp/optimize.c \
|
||||
gallium/drivers/lima/ir/gp/node.c \
|
||||
gallium/drivers/lima/ir/gp/reduce_scheduler.c \
|
||||
gallium/drivers/lima/ir/gp/instr.c \
|
||||
gallium/drivers/lima/ir/gp/lower.c \
|
||||
gallium/drivers/lima/ir/gp/scheduler.c \
|
||||
gallium/drivers/lima/ir/lima_nir_split_load_input.c \
|
||||
gallium/drivers/lima/ir/lima_nir_duplicate_consts.c \
|
||||
gallium/drivers/lima/ir/lima_nir_duplicate_intrinsic.c \
|
||||
gallium/drivers/lima/ir/lima_nir_lower_uniform_to_scalar.c \
|
||||
gallium/drivers/lima/lima_bo.c \
|
||||
gallium/drivers/lima/lima_context.c \
|
||||
gallium/drivers/lima/lima_draw.c \
|
||||
gallium/drivers/lima/lima_fence.c \
|
||||
gallium/drivers/lima/lima_format.c \
|
||||
gallium/drivers/lima/lima_job.c \
|
||||
gallium/drivers/lima/lima_parser.c \
|
||||
gallium/drivers/lima/lima_program.c \
|
||||
gallium/drivers/lima/lima_query.c \
|
||||
gallium/drivers/lima/lima_resource.c \
|
||||
gallium/drivers/lima/lima_screen.c \
|
||||
gallium/drivers/lima/lima_state.c \
|
||||
gallium/drivers/lima/lima_texture.c \
|
||||
gallium/drivers/lima/lima_util.c \
|
||||
gallium/drivers/lima/lima_nir_algebraic.c \
|
||||
gallium/winsys/lima/drm/lima_drm_winsys.c \
|
||||
panfrost/shared/pan_minmax_cache.c \
|
||||
panfrost/shared/pan_tiling.c
|
||||
|
||||
vpath %.c $(MESA_SRC_DIR)/src
|
||||
vpath %.c $(MESA_SRC_DIR)/../../../generated/src
|
||||
@@ -1,10 +1,13 @@
|
||||
SHARED_LIB := yes
|
||||
LIBS += libdrm
|
||||
|
||||
LIBS += etnaviv
|
||||
CC_OPT += -DHAVE_UINT128
|
||||
|
||||
CC_OPT += -DGALLIUM_ETNAVIV \
|
||||
-DHAVE_UINT128
|
||||
LIBS += etnaviv
|
||||
CC_OPT += -DGALLIUM_ETNAVIV
|
||||
|
||||
LIBS += lima
|
||||
CC_OPT += -DGALLIUM_LIMA
|
||||
|
||||
include $(REP_DIR)/lib/mk/mesa.inc
|
||||
|
||||
|
||||
19
repos/libports/lib/mk/spec/arm_v8/mesa_gpu-lima.mk
Normal file
19
repos/libports/lib/mk/spec/arm_v8/mesa_gpu-lima.mk
Normal file
@@ -0,0 +1,19 @@
|
||||
SHARED_LIB := yes
|
||||
LIBS := libc egl
|
||||
|
||||
include $(REP_DIR)/lib/mk/mesa-common.inc
|
||||
|
||||
SRC_CC := drm_init.cc
|
||||
SRC_C := platform_lima.c
|
||||
|
||||
CC_OPT += -DHAVE_GENODE_PLATFORM
|
||||
|
||||
INC_DIR += $(MESA_SRC_DIR)/src/egl/drivers/dri2 \
|
||||
$(MESA_SRC_DIR)/src/egl/main \
|
||||
$(MESA_SRC_DIR)/src/mapi \
|
||||
$(MESA_SRC_DIR)/src/mesa
|
||||
|
||||
vpath %.c $(LIB_DIR)/lima
|
||||
vpath %.cc $(LIB_DIR)/lima
|
||||
|
||||
CC_CXX_WARN_STRICT :=
|
||||
Reference in New Issue
Block a user