04b5ac36a50a5fdaf3510c3c4c4e89bc35cfe26e |
29-Aug-2012 |
Ian Rogers <irogers@google.com> |
Remove unnecessary compiler pragma. With dlmalloc 2.8.6 the compiler pragmas to suppress warnings are not necessary. Also fix compiler warning about redefinition of LOG_TAG. Depends upon: https://android-review.googlesource.com/42351 Change-Id: I50f70be31f4bd994b09083e722759464476c70b3
odeCache.cpp
|
c3c5358b94f48799fd595c829ce223b43588bac1 |
27-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "Add MIPS support to pixelflinger."
|
2d13791ce7ff61221ca047553891f31a23b2e943 |
18-Aug-2012 |
Ian Rogers <irogers@google.com> |
Upgrade to dlmalloc 2.8.5. Remove mspace functionality from cutils. Directly declare mspace from dlmalloc in code flinger's code cache, and manage without using morecore. Depends upon: https://android-review.googlesource.com/41717 Change-Id: If927254febd4414212c690f16509ef2ee1b44b44
odeCache.cpp
odeCache.h
|
2bc2b792782b304b15d8c48b54916a9b3fa3a7ac |
01-Feb-2012 |
Paul Lind <plind@mips.com> |
Add MIPS support to pixelflinger. See the comment-block at the top of MIPSAssembler.cpp for implementation overview. Change-Id: Id492c10610574af8c89c38d19e12fafc3652c28a
RMAssembler.cpp
RMAssembler.h
RMAssemblerInterface.cpp
RMAssemblerInterface.h
RMAssemblerProxy.cpp
RMAssemblerProxy.h
odeCache.cpp
GLAssembler.cpp
GLAssembler.h
IPSAssembler.cpp
IPSAssembler.h
oad_store.cpp
ips_disassem.c
ips_disassem.h
ips_opcode.h
exturing.cpp
|
01dda204cd28fe181691b4a44a51be7e5666d0c8 |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE Bug: 5449033 Change-Id: Ibcffdcf620ebae1c389446ce8e9d908f11ac039c
odeCache.cpp
GLAssembler.cpp
lending.cpp
oad_store.cpp
exturing.cpp
|
fe71a61e5b0cb666675900d206251a7c18ed944b |
04-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE Bug: 5449033 Change-Id: I4951baa981f09a84ce483e3d1bd0f9ebe009035f
RMAssembler.cpp
|
720fdebb4ca2306133099126eb1f10b0b79ccce1 |
23-Nov-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am 4906db21: Merge "codeflinger: Correct misleading comment of STM instruction" * commit '4906db21e041327042b87122b233e1f150618334': codeflinger: Correct misleading comment of STM instruction
|
287a9585dc85bff9b81e962f6be4f2b36512d345 |
15-Oct-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am 8e0e372a: Set PROT_EXEC on the whole pixelflinger code cache. Merge commit '8e0e372a388434a0553810e2b958e59a26a6bd96' into gingerbread-plus-aosp * commit '8e0e372a388434a0553810e2b958e59a26a6bd96': Set PROT_EXEC on the whole pixelflinger code cache.
|
8e0e372a388434a0553810e2b958e59a26a6bd96 |
14-Oct-2010 |
Jean-Baptiste Queru <jbq@google.com> |
Set PROT_EXEC on the whole pixelflinger code cache. The pointer difference between word pointers is a number of words, and it needs to be multiplied by the size of a word to get a proper byte size. Without this, we tend to see crashes when the code crosses a page boundary. Bug: 3026204 Bug: 3097482 Change-Id: I37776d26d5afcdb1da71680de02fbb95e6548371
odeCache.cpp
|
a7e96642a9f91620b69716cc3198c6ebb4d0553c |
04-May-2010 |
Kan-Ru Chen <kanru@0xlab.org> |
codeflinger: Correct misleading comment of STM instruction According to the ARM Architecture Reference Manual, the comment on STM instruction should be in reverse order. Change-Id: I4af852a0478798ff7b02ab9c29c68e320ff78696 Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
RMAssembler.cpp
|
67e6fcd19533f54ca37cbe72425f55a40a7f0333 |
21-Jun-2010 |
The Android Open Source Project <initial-contribution@android.com> |
merge from froyo-plus-aosp Change-Id: Ie231effb4d9dfd63aa98ec08b269c31ce32aa1c0
|
62f4d86b7c9143860bc5e9679382fcf159b788b4 |
15-Jun-2010 |
Jean-Baptiste Queru <jbq@google.com> |
Fix build - cpu-features is ARM-specific Change-Id: I66521f279545a249e3dcb645914f7b66f23cef21
oad_store.cpp
|
4dc1fa8e8d1f14868ab8bba93a8cbb87f847c4e3 |
04-Dec-2009 |
Martyn Capewell <martyn.capewell@arm.com> |
Adds support for UBFX to JIT and Disassembler This introduces UBFX instruction generation abilities to the Pixelflinger JIT, and also modifies the component extraction function to generate the instruction. The extract function contains defines to prevent generation of UBFX on pre-v7 cores. The JIT itself retains the ability to produce the instruction even on v5/6. This patch only generates UBFX when MOV, AND or BIC can't be used. Based on the TRM, this appears to be faster on A9 than using UBFX in all cases. On startup, Pixelflinger JITs three chunks of code. UBFX improves these as follows: 00000077:03515104_00000000_00000000 (Blends a single colour into an RGB565 buffer.) Before: 27 inst/pixel, After: 24 inst/pixel, Improvement: 12.5% 00000077:03545404_00000A01_00000000 (Blends RGBA8888 texture into an RGB565 buffer using alpha.) Before: 30 inst/pixel, After: 27 inst/pixel, Improvement: 11.1% 00000077:03545404_00000A04_00000000 (Blends RGB565 texture into an RGB565 buffer using alpha.) Before: 29 inst/pixel, After: 27 inst/pixel, Improvement: 7.4%
RMAssembler.cpp
RMAssembler.h
RMAssemblerInterface.h
RMAssemblerProxy.cpp
RMAssemblerProxy.h
isassem.c
oad_store.cpp
|
beeeee705bcf16d705748713ea40dca3486cc7b7 |
07-May-2010 |
Nick Kralevich <nnk@google.com> |
Allow pixelflinger to work when NX (No Execute) is enabled. Instead of allocating memory from the (non executable) heap, allocate memory using mspace and ensure that we use mprotect to mark it as PROT_EXEC. This allows pixelflinger to continue to work even when NX protections are enabled. Testing: Using the ApiDemos market app, verify that Apidemos -> Graphics -> OpenGL ES -> GLSurfaceView works when "adb shell setprop debug.egl.hw 0" is set. Change-Id: Ib569cd2543c6fa25688ee76325a712bc2347450b
odeCache.cpp
odeCache.h
|
2bef93cc20155c3a59cdbb22c564c4b385b2c160 |
03-May-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
cpu-features.h is only available for ARM Change-Id: I1e8001a1875bfd9cebfe18dfd757556b55c8213c
exturing.cpp
|
9b6c850d24df82451862b81f059361b586f5ef0b |
03-May-2010 |
Jean-Baptiste Queru <jbq@google.com> |
fix sim build Change-Id: Ide300eafbcbbc6dfae25fe86188302c6676c4a3b
exturing.cpp
|
f42d2fac2b09547295e353ddffb281aa7932403f |
07-Dec-2009 |
Martyn Capewell <martyn.capewell@arm.com> |
Fix LDM addressing mode disassembly The Pixelflinger disassembler does not handle LDM addressing modes correctly, assuming that the P and U bits in the instruction mean the same in both LDM and STM. This results in the disassembler producing sequences like: stmfd r13!, {r4-r11, r14} ... ... ... ldmea r13!, {r4-r11, r14} This small patch fixes it by EORing the P and U bits with the Load/Store bit. Change-Id: Ic7a1556642c4e29415fc3697019f1239b6c26fc2
isassem.c
|
96dbb4fc58fe2dcf4390e073dbb42cc77ef2f0b5 |
07-Dec-2009 |
Martyn Capewell <martyn.capewell@arm.com> |
Adds UXTB16 support to Pixelflinger * Add support for UXTB16 to the disassembler * Add encoding of the UXTB16 instruction to the Pixelflinger JIT. Introducing the UXTB16 instruction allows removal of some masking code, and is beneficial from a pipeline point of view - lots of UXTB16 followed by MUL sequences. Also, further rescheduling and use of SMULWB brings extra performance improvements. * Use UXTB16 in bilinear filtered texturing Uses UXTB16 to extract channels for SIMD operations, rather than creating and ANDing with masks. Saves a register and is faster on A8, as UXTB16 result can feed into first stage of multiply, unlike AND. Also, used SMULWB rather than SMULBB, which allows removal of MOVs used to rescale results. Code has been scheduled for A8 pipeline, specifically aiming to allow multiplies to issue in pipeline 0, for efficient dual issue operation. Testing on SpriteMethodTest (http://code.google.com/p/apps-for-android/) gives 8% improvement (12.7 vs. 13.7 fps.) SMULBB to SMULWB trick could be used in <v6 code path, but this hasn't been implemented.
RMAssembler.cpp
RMAssembler.h
RMAssemblerInterface.h
RMAssemblerProxy.cpp
RMAssemblerProxy.h
isassem.c
exturing.cpp
|
4b29fe640ae852c04d5d87d0f9527bdc32177ad1 |
13-Nov-2009 |
Jean-Baptiste Queru <jbq@google.com> |
eclair snapshot
lending.cpp
|
006ba85e981d66ecf262a0ba0b2a6160b1923f24 |
02-Jun-2009 |
Mathias Agopian <mathias@google.com> |
fix 1650170 pixelflinger depends on KeyedVector.h, etc
RMAssembler.h
odeCache.h
|
dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
RMAssembler.cpp
RMAssembler.h
RMAssemblerInterface.cpp
RMAssemblerInterface.h
RMAssemblerProxy.cpp
RMAssemblerProxy.h
odeCache.cpp
odeCache.h
GLAssembler.cpp
GLAssembler.h
rmreg.h
lending.cpp
isassem.c
isassem.h
oad_store.cpp
exturing.cpp
|
e54eebbf1a908d65ee8cf80bab62821c05666d70 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
RMAssembler.cpp
RMAssembler.h
RMAssemblerInterface.cpp
RMAssemblerInterface.h
RMAssemblerProxy.cpp
RMAssemblerProxy.h
odeCache.cpp
odeCache.h
GLAssembler.cpp
GLAssembler.h
rmreg.h
lending.cpp
isassem.c
isassem.h
oad_store.cpp
exturing.cpp
|
2eef60297a0ca1433d0824d6d662efd402709cfd |
16-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@126645
RMAssembler.cpp
|
35237d135807af84bf9b0e5b8d7f8633e58db6f5 |
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
GLAssembler.cpp
GLAssembler.h
lending.cpp
oad_store.cpp
exturing.cpp
|
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 |
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
RMAssembler.cpp
RMAssembler.h
RMAssemblerInterface.cpp
RMAssemblerInterface.h
RMAssemblerProxy.cpp
RMAssemblerProxy.h
odeCache.cpp
odeCache.h
GLAssembler.cpp
GLAssembler.h
rmreg.h
lending.cpp
isassem.c
isassem.h
oad_store.cpp
exturing.cpp
|