I normolly get the message
generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x388750:0x38880c] in 712163 ns in logcat view, android.
While searching for ARMAssembler generated scanline__ on google I got the following results referring to scanline.cpp.
http://source-android.frandroid.com/system/core/libpixelflinger/scanline.cpp
or
http://gitorious.org/android-enablement/system-core/blobs/6090dacd1894429baaf13f7b30b2f6e9e2c1617f/libpixelflinger/scanline.cpp
The part of the code is like this
generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x388750:0x38880c] in 712163 ns in logcat view, android.
While searching for ARMAssembler generated scanline__ on google I got the following results referring to scanline.cpp.
http://source-android.frandroid.com/system/core/libpixelflinger/scanline.cpp
or
http://gitorious.org/android-enablement/system-core/blobs/6090dacd1894429baaf13f7b30b2f6e9e2c1617f/libpixelflinger/scanline.cpp
The part of the code is like this
/* libs/pixelflinger/scanline.cpp ** ** Copyright 2006-2011, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ #define LOG_TAG "pixelflinger" #include <assert.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <cutils/memory.h> #include <cutils/log.h> #include "buffer.h" #include "scanline.h" #include "codeflinger/CodeCache.h" #include "codeflinger/GGLAssembler.h" #include "codeflinger/ARMAssembler.h" //#include "codeflinger/ARMAssemblerOptimizer.h" // ---------------------------------------------------------------------------- #define ANDROID_CODEGEN_GENERIC 0 // force generic pixel pipeline #define ANDROID_CODEGEN_C 1 // hand-written C, fallback generic #define ANDROID_CODEGEN_ASM 2 // hand-written asm, fallback generic #define ANDROID_CODEGEN_GENERATED 3 // hand-written asm, fallback codegen #ifdef NDEBUG # define ANDROID_RELEASE # define ANDROID_CODEGEN ANDROID_CODEGEN_GENERATED #else # define ANDROID_DEBUG # define ANDROID_CODEGEN ANDROID_CODEGEN_GENERATED #endif #if defined(__arm__) # define ANDROID_ARM_CODEGEN 1 #else # define ANDROID_ARM_CODEGEN 0 #endif #define DEBUG__CODEGEN_ONLY 0 /* Set to 1 to dump to the log the states that need a new * code-generated scanline callback, i.e. those that don't * have a corresponding shortcut function. */ #define DEBUG_NEEDS 0 #define ASSEMBLY_SCRATCH_SIZE 2048 // ---------------------------------------------------------------------------- namespace android { // ---------------------------------------------------------------------------- static void init_y(context_t*, int32_t); static void init_y_noop(context_t*, int32_t); static void init_y_packed(context_t*, int32_t); static void init_y_error(context_t*, int32_t); static void step_y__generic(context_t* c); static void step_y__nop(context_t*); static void step_y__smooth(context_t* c); static void step_y__tmu(context_t* c); static void step_y__w(context_t* c); static void scanline(context_t* c); static void scanline_perspective(context_t* c); static void scanline_perspective_single(context_t* c); static void scanline_t32cb16blend(context_t* c); static void scanline_t32cb16blend_dither(context_t* c); static void scanline_t32cb16blend_srca(context_t* c); static void scanline_t32cb16blend_clamp(context_t* c); static void scanline_t32cb16blend_clamp_dither(context_t* c); static void scanline_t32cb16blend_clamp_mod(context_t* c); static void scanline_x32cb16blend_clamp_mod(context_t* c); static void scanline_t32cb16blend_clamp_mod_dither(context_t* c); static void scanline_x32cb16blend_clamp_mod_dither(context_t* c); static void scanline_t32cb16(context_t* c); static void scanline_t32cb16_dither(context_t* c); static void scanline_t32cb16_clamp(context_t* c); static void scanline_t32cb16_clamp_dither(context_t* c); static void scanline_col32cb16blend(context_t* c); static void scanline_t16cb16_clamp(context_t* c); static void scanline_t16cb16blend_clamp_mod(context_t* c); static void scanline_memcpy(context_t* c); static void scanline_memset8(context_t* c); static void scanline_memset16(context_t* c); static void scanline_memset32(context_t* c); static void scanline_noop(context_t* c); static void scanline_set(context_t* c); static void scanline_clear(context_t* c); static void rect_generic(context_t* c, size_t yc); static void rect_memcpy(context_t* c, size_t yc); extern "C" void scanline_t32cb16blend_arm(uint16_t*, uint32_t*, size_t); extern "C" void scanline_t32cb16_arm(uint16_t *dst, uint32_t *src, size_t ct); extern "C" void scanline_col32cb16blend_neon(uint16_t *dst, uint32_t *col, size_t ct); extern "C" void scanline_col32cb16blend_arm(uint16_t *dst, uint32_t col, size_t ct); // ---------------------------------------------------------------------------- static inline uint16_t convertAbgr8888ToRgb565(uint32_t pix) { return uint16_t( ((pix << 8) & 0xf800) | ((pix >> 5) & 0x07e0) | ((pix >> 19) & 0x001f) ); } struct shortcut_t { needs_filter_t filter; const char* desc; void (*scanline)(context_t*); void (*init_y)(context_t*, int32_t); };
...........................
}
What actually is ARM?
ARM (formerly Advanced RISC Machine and Acorn RISC Machine) is a reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. The ARM architecture is the most widely used 32-bit instruction set architecture in numbers produced.
No comments:
Post a Comment