summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/cache/CachingPipeline.java')
-rw-r--r--src/com/android/gallery3d/filtershow/cache/CachingPipeline.java17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
index 494c0a636..9901e5705 100644
--- a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
+++ b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
@@ -27,6 +27,7 @@ import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.filters.ImageFilterGeometry;
import com.android.gallery3d.filtershow.imageshow.GeometryMetadata;
import com.android.gallery3d.filtershow.imageshow.MasterImage;
+import com.android.gallery3d.filtershow.pipeline.SharedBuffer;
import com.android.gallery3d.filtershow.presets.FilterEnvironment;
import com.android.gallery3d.filtershow.presets.ImagePreset;
import com.android.gallery3d.filtershow.presets.PipelineInterface;
@@ -342,7 +343,7 @@ public class CachingPipeline implements PipelineInterface {
FilterEnvironment.QUALITY_PREVIEW);
}
- public synchronized void compute(TripleBufferBitmap buffer, ImagePreset preset, int type) {
+ public synchronized void compute(SharedBuffer buffer, ImagePreset preset, int type) {
synchronized (CachingPipeline.class) {
if (getRenderScriptContext() == null) {
return;
@@ -361,16 +362,20 @@ public class CachingPipeline implements PipelineInterface {
if (updateOriginalAllocation(preset)) {
resizedOriginalBitmap = mResizedOriginalBitmap;
mEnvironment.cache(buffer.getProducer());
- buffer.updateProducerBitmap(resizedOriginalBitmap);
+ buffer.setProducer(resizedOriginalBitmap);
+ }
+
+ Bitmap bitmap = null;
+ if (buffer.getProducer() != null) {
+ bitmap = buffer.getProducer().getBitmap();
}
- Bitmap bitmap = buffer.getProducer();
long time2 = System.currentTimeMillis();
if (bitmap == null || (bitmap.getWidth() != resizedOriginalBitmap.getWidth())
|| (bitmap.getHeight() != resizedOriginalBitmap.getHeight())) {
mEnvironment.cache(buffer.getProducer());
- buffer.updateProducerBitmap(resizedOriginalBitmap);
- bitmap = buffer.getProducer();
+ buffer.setProducer(resizedOriginalBitmap);
+ bitmap = buffer.getProducer().getBitmap();
}
mOriginalAllocation.copyTo(bitmap);
@@ -393,7 +398,7 @@ public class CachingPipeline implements PipelineInterface {
}
public boolean needsRepaint() {
- TripleBufferBitmap buffer = MasterImage.getImage().getDoubleBuffer();
+ SharedBuffer buffer = MasterImage.getImage().getPreviewBuffer();
return buffer.checkRepaintNeeded();
}