Skip to content

Commit

Permalink
Software-accelerated Pixel Flinger
Browse files Browse the repository at this point in the history
The typical graphic workloads on VirtualBox are improved 3X.

Supports both x86 and x86_64.

Similar change by HazouPH <jgrharbers@gmail.com>:
http://review.cyanogenmod.org/#/c/70896/

And by Quanganh pham <quanganh2627@gmail.com>:
http://review.cyanogenmod.org/#/c/97125/

Change-Id: I1cfd80f2951b801f0e10bf67b599a06a83e49089
  • Loading branch information
cwhuang authored and Steve Kondik committed Sep 3, 2016
1 parent 84b10bc commit f0f2942
Show file tree
Hide file tree
Showing 27 changed files with 15,193 additions and 14 deletions.
31 changes: 26 additions & 5 deletions libpixelflinger/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,16 @@ include $(CLEAR_VARS)

include $(CLEAR_VARS)
PIXELFLINGER_SRC_FILES:= \
codeflinger/CodeCache.cpp \
format.cpp \
clear.cpp \
raster.cpp \
buffer.cpp

ifeq ($(filter x86%,$(TARGET_ARCH)),)
PIXELFLINGER_SRC_FILES += \
codeflinger/ARMAssemblerInterface.cpp \
codeflinger/ARMAssemblerProxy.cpp \
codeflinger/CodeCache.cpp \
codeflinger/GGLAssembler.cpp \
codeflinger/load_store.cpp \
codeflinger/blending.cpp \
Expand All @@ -19,10 +26,8 @@ PIXELFLINGER_SRC_FILES:= \
pixelflinger.cpp.arm \
trap.cpp.arm \
scanline.cpp.arm \
format.cpp \
clear.cpp \
raster.cpp \
buffer.cpp

endif

PIXELFLINGER_CFLAGS := -fstrict-aliasing -fomit-frame-pointer

Expand All @@ -43,6 +48,18 @@ PIXELFLINGER_SRC_FILES_arm64 := \
arch-arm64/col32cb16blend.S \
arch-arm64/t32cb16blend.S \

PIXELFLINGER_SRC_FILES_x86 := \
codeflinger/x86/X86Assembler.cpp \
codeflinger/x86/GGLX86Assembler.cpp \
codeflinger/x86/load_store.cpp \
codeflinger/x86/blending.cpp \
codeflinger/x86/texturing.cpp \
fixed.cpp \
picker.cpp \
pixelflinger.cpp \
trap.cpp \
scanline.cpp

ifndef ARCH_MIPS_REV6
PIXELFLINGER_SRC_FILES_mips := \
codeflinger/MIPSAssembler.cpp \
Expand All @@ -66,13 +83,17 @@ LOCAL_MODULE:= libpixelflinger
LOCAL_SRC_FILES := $(PIXELFLINGER_SRC_FILES)
LOCAL_SRC_FILES_arm := $(PIXELFLINGER_SRC_FILES_arm)
LOCAL_SRC_FILES_arm64 := $(PIXELFLINGER_SRC_FILES_arm64)
LOCAL_SRC_FILES_x86 := $(PIXELFLINGER_SRC_FILES_x86)
LOCAL_SRC_FILES_x86_64 := $(PIXELFLINGER_SRC_FILES_x86)
LOCAL_SRC_FILES_mips := $(PIXELFLINGER_SRC_FILES_mips)
LOCAL_SRC_FILES_mips64 := $(PIXELFLINGER_SRC_FILES_mips64)
LOCAL_CFLAGS := $(PIXELFLINGER_CFLAGS)
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
LOCAL_C_INCLUDES += $(LOCAL_EXPORT_C_INCLUDE_DIRS) \
external/safe-iop/include
LOCAL_SHARED_LIBRARIES := libcutils liblog libutils
LOCAL_WHOLE_STATIC_LIBRARIES_x86 := libenc
LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 := libenc

# Really this should go away entirely or at least not depend on
# libhardware, but this at least gets us built.
Expand Down
3 changes: 3 additions & 0 deletions libpixelflinger/codeflinger/Android.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ifneq ($(filter x86%,$(TARGET_ARCH)),)
include $(call all-named-subdir-makefiles,x86/libenc)
endif
Loading

0 comments on commit f0f2942

Please sign in to comment.