aboutsummaryrefslogtreecommitdiffstats
path: root/libpixelflinger/scanline.cpp
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2008-12-19 08:15:15 -0800
committerJean-Baptiste Queru <jbq@google.com>2008-12-19 08:15:15 -0800
commit77d0c65b950570edd5241a8f2ebecfc3acbc5135 (patch)
tree8e3d3e2ca15d3bd038de6e22e1f00f31aad1406f /libpixelflinger/scanline.cpp
parent829dd45fe9556dac5996969c30b90f1be6c47c47 (diff)
parent35237d135807af84bf9b0e5b8d7f8633e58db6f5 (diff)
downloadsystem_core-77d0c65b950570edd5241a8f2ebecfc3acbc5135.tar.gz
system_core-77d0c65b950570edd5241a8f2ebecfc3acbc5135.tar.bz2
system_core-77d0c65b950570edd5241a8f2ebecfc3acbc5135.zip
Merge commit 'remotes/korg/cupcake'
Conflicts: init/devices.c logwrapper/logwrapper.c mountd/AutoMount.c
Diffstat (limited to 'libpixelflinger/scanline.cpp')
-rw-r--r--libpixelflinger/scanline.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/libpixelflinger/scanline.cpp b/libpixelflinger/scanline.cpp
index d24c9880..75b668d3 100644
--- a/libpixelflinger/scanline.cpp
+++ b/libpixelflinger/scanline.cpp
@@ -55,9 +55,11 @@
# define ANDROID_ARM_CODEGEN 0
#endif
-
#define DEBUG__CODEGEN_ONLY 0
+
+#define ASSEMBLY_SCRATCH_SIZE 2048
+
// ----------------------------------------------------------------------------
namespace android {
// ----------------------------------------------------------------------------
@@ -247,7 +249,8 @@ static void pick_scanline(context_t* c)
sp<Assembly> assembly = gCodeCache.lookup(key);
if (assembly == 0) {
// create a new assembly region
- sp<ScanlineAssembly> a = new ScanlineAssembly(c->state.needs, 1024);
+ sp<ScanlineAssembly> a = new ScanlineAssembly(c->state.needs,
+ ASSEMBLY_SCRATCH_SIZE);
// initialize our assembler
GGLAssembler assembler( new ARMAssembler(a) );
//GGLAssembler assembler(
@@ -676,6 +679,12 @@ void scanline(context_t* c)
Cf = ((((1<<st) - factor) * Cf) + Ct*Cc)>>st;
}
break;
+ case GGL_ADD:
+ if (st) {
+ rescale(Cf, sf, Ct, st);
+ Cf += Ct;
+ }
+ break;
}
}
}
@@ -1473,7 +1482,7 @@ extern "C" void ggl_test_codegen(uint32_t n, uint32_t p, uint32_t t0, uint32_t t
needs.p = p;
needs.t[0] = t0;
needs.t[1] = t1;
- sp<ScanlineAssembly> a(new ScanlineAssembly(needs, 1024));
+ sp<ScanlineAssembly> a(new ScanlineAssembly(needs, ASSEMBLY_SCRATCH_SIZE));
GGLAssembler assembler( new ARMAssembler(a) );
int err = assembler.scanline(needs, (context_t*)c);
if (err != 0) {