summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
authorTim Murray <timmurray@google.com>2013-08-01 14:49:22 -0700
committerTim Murray <timmurray@google.com>2013-08-02 15:31:29 -0700
commit250b1cfc831fd2a271c09cab547efcc5e3d5f828 (patch)
treebf502f12f2488e26c1fd3e4978cf2eced0ea7e0e /libs/hwui
parentbb9b30078739dba99ffa094b35fde0118c245097 (diff)
downloadframeworks_base-250b1cfc831fd2a271c09cab547efcc5e3d5f828.zip
frameworks_base-250b1cfc831fd2a271c09cab547efcc5e3d5f828.tar.gz
frameworks_base-250b1cfc831fd2a271c09cab547efcc5e3d5f828.tar.bz2
Handle updates to RS C++ API.
Change-Id: I73127fc7369643b94d4a49f31a516b50c74b54ac
Diffstat (limited to 'libs/hwui')
-rw-r--r--libs/hwui/Android.mk7
-rw-r--r--libs/hwui/FontRenderer.cpp14
-rw-r--r--libs/hwui/FontRenderer.h8
3 files changed, 18 insertions, 11 deletions
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index 5a30472..411c133 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -65,11 +65,14 @@ ifeq ($(USE_OPENGL_RENDERER),true)
ifneq (false,$(ANDROID_ENABLE_RENDERSCRIPT))
LOCAL_CFLAGS += -DANDROID_ENABLE_RENDERSCRIPT
- LOCAL_SHARED_LIBRARIES += libRS libRScpp
+ LOCAL_SHARED_LIBRARIES += libRS libRScpp libstlport
LOCAL_C_INCLUDES += \
$(intermediates) \
frameworks/rs/cpp \
- frameworks/rs
+ frameworks/rs \
+ external/stlport/stlport \
+ bionic/ \
+ bionic/libstdc++/include
endif
ifndef HWUI_COMPILE_SYMBOLS
diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp
index 1b2f651..1700473 100644
--- a/libs/hwui/FontRenderer.cpp
+++ b/libs/hwui/FontRenderer.cpp
@@ -729,7 +729,7 @@ void FontRenderer::blurImage(uint8_t** image, int32_t width, int32_t height, int
if (width * height * radius >= RS_MIN_INPUT_CUTOFF) {
uint8_t* outImage = (uint8_t*) memalign(RS_CPU_ALLOCATION_ALIGNMENT, width * height);
- if (mRs.get() == 0) {
+ if (mRs == 0) {
mRs = new RSC::RS();
if (!mRs->init(true, true)) {
ALOGE("blur RS failed to init");
@@ -739,11 +739,13 @@ void FontRenderer::blurImage(uint8_t** image, int32_t width, int32_t height, int
mRsScript = new RSC::ScriptIntrinsicBlur(mRs, mRsElement);
}
- sp<const RSC::Type> t = RSC::Type::create(mRs, mRsElement, width, height, 0);
- sp<RSC::Allocation> ain = RSC::Allocation::createTyped(mRs, t, RS_ALLOCATION_MIPMAP_NONE,
- RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED, *image);
- sp<RSC::Allocation> aout = RSC::Allocation::createTyped(mRs, t, RS_ALLOCATION_MIPMAP_NONE,
- RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED, outImage);
+ RSC::sp<const RSC::Type> t = RSC::Type::create(mRs, mRsElement, width, height, 0);
+ RSC::sp<RSC::Allocation> ain = RSC::Allocation::createTyped(mRs, t,
+ RS_ALLOCATION_MIPMAP_NONE, RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED,
+ *image);
+ RSC::sp<RSC::Allocation> aout = RSC::Allocation::createTyped(mRs, t,
+ RS_ALLOCATION_MIPMAP_NONE, RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED,
+ outImage);
mRsScript->setRadius(radius);
mRsScript->blur(ain, aout);
diff --git a/libs/hwui/FontRenderer.h b/libs/hwui/FontRenderer.h
index aca47b4..aa7e776 100644
--- a/libs/hwui/FontRenderer.h
+++ b/libs/hwui/FontRenderer.h
@@ -35,10 +35,12 @@
#include "Properties.h"
#ifdef ANDROID_ENABLE_RENDERSCRIPT
+#include "RenderScript.h"
namespace RSC {
class Element;
class RS;
class ScriptIntrinsicBlur;
+ class sp;
}
#endif
@@ -206,9 +208,9 @@ private:
#ifdef ANDROID_ENABLE_RENDERSCRIPT
// RS constructs
- sp<RSC::RS> mRs;
- sp<const RSC::Element> mRsElement;
- sp<RSC::ScriptIntrinsicBlur> mRsScript;
+ RSC::sp<RSC::RS> mRs;
+ RSC::sp<const RSC::Element> mRsElement;
+ RSC::sp<RSC::ScriptIntrinsicBlur> mRsScript;
#endif
static void computeGaussianWeights(float* weights, int32_t radius);