am 55a9be3d: Merge "Fix for bug 3434228" into honeycomb-mr1
* commit '55a9be3d284d17045d9d3546c57d9dc3c4c8a521': Fix for bug 3434228
This commit is contained in:
@@ -83,17 +83,17 @@ public class RenderScript {
|
||||
int alphaMin, int alphaPref,
|
||||
int depthMin, int depthPref,
|
||||
int stencilMin, int stencilPref,
|
||||
int samplesMin, int samplesPref, float samplesQ);
|
||||
int samplesMin, int samplesPref, float samplesQ, int dpi);
|
||||
synchronized int nContextCreateGL(int dev, int ver,
|
||||
int colorMin, int colorPref,
|
||||
int alphaMin, int alphaPref,
|
||||
int depthMin, int depthPref,
|
||||
int stencilMin, int stencilPref,
|
||||
int samplesMin, int samplesPref, float samplesQ) {
|
||||
int samplesMin, int samplesPref, float samplesQ, int dpi) {
|
||||
return rsnContextCreateGL(dev, ver, colorMin, colorPref,
|
||||
alphaMin, alphaPref, depthMin, depthPref,
|
||||
stencilMin, stencilPref,
|
||||
samplesMin, samplesPref, samplesQ);
|
||||
samplesMin, samplesPref, samplesQ, dpi);
|
||||
}
|
||||
native int rsnContextCreate(int dev, int ver);
|
||||
synchronized int nContextCreate(int dev, int ver) {
|
||||
|
||||
@@ -165,13 +165,14 @@ public class RenderScriptGL extends RenderScript {
|
||||
mWidth = 0;
|
||||
mHeight = 0;
|
||||
mDev = nDeviceCreate();
|
||||
int dpi = ctx.getResources().getDisplayMetrics().densityDpi;
|
||||
mContext = nContextCreateGL(mDev, 0,
|
||||
mSurfaceConfig.mColorMin, mSurfaceConfig.mColorPref,
|
||||
mSurfaceConfig.mAlphaMin, mSurfaceConfig.mAlphaPref,
|
||||
mSurfaceConfig.mDepthMin, mSurfaceConfig.mDepthPref,
|
||||
mSurfaceConfig.mStencilMin, mSurfaceConfig.mStencilPref,
|
||||
mSurfaceConfig.mSamplesMin, mSurfaceConfig.mSamplesPref,
|
||||
mSurfaceConfig.mSamplesQ);
|
||||
mSurfaceConfig.mSamplesQ, dpi);
|
||||
if (mContext == 0) {
|
||||
throw new RSDriverException("Failed to create RS context.");
|
||||
}
|
||||
|
||||
@@ -164,7 +164,8 @@ nContextCreateGL(JNIEnv *_env, jobject _this, jint dev, jint ver,
|
||||
int alphaMin, int alphaPref,
|
||||
int depthMin, int depthPref,
|
||||
int stencilMin, int stencilPref,
|
||||
int samplesMin, int samplesPref, float samplesQ)
|
||||
int samplesMin, int samplesPref, float samplesQ,
|
||||
int dpi)
|
||||
{
|
||||
RsSurfaceConfig sc;
|
||||
sc.alphaMin = alphaMin;
|
||||
@@ -178,7 +179,7 @@ nContextCreateGL(JNIEnv *_env, jobject _this, jint dev, jint ver,
|
||||
sc.samplesQ = samplesQ;
|
||||
|
||||
LOG_API("nContextCreateGL");
|
||||
return (jint)rsContextCreateGL((RsDevice)dev, ver, sc);
|
||||
return (jint)rsContextCreateGL((RsDevice)dev, ver, sc, dpi);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1213,7 +1214,7 @@ static JNINativeMethod methods[] = {
|
||||
|
||||
// All methods below are thread protected in java.
|
||||
{"rsnContextCreate", "(II)I", (void*)nContextCreate },
|
||||
{"rsnContextCreateGL", "(IIIIIIIIIIIIF)I", (void*)nContextCreateGL },
|
||||
{"rsnContextCreateGL", "(IIIIIIIIIIIIFI)I", (void*)nContextCreateGL },
|
||||
{"rsnContextFinish", "(I)V", (void*)nContextFinish },
|
||||
{"rsnContextSetPriority", "(II)V", (void*)nContextSetPriority },
|
||||
{"rsnContextSetSurface", "(IIILandroid/view/Surface;)V", (void*)nContextSetSurface },
|
||||
|
||||
@@ -76,7 +76,8 @@ void rsDeviceDestroy(RsDevice);
|
||||
void rsDeviceSetConfig(RsDevice, RsDeviceParam, int32_t value);
|
||||
|
||||
RsContext rsContextCreate(RsDevice, uint32_t version);
|
||||
RsContext rsContextCreateGL(RsDevice, uint32_t version, RsSurfaceConfig sc);
|
||||
RsContext rsContextCreateGL(RsDevice, uint32_t version,
|
||||
RsSurfaceConfig sc, uint32_t dpi);
|
||||
void rsContextDestroy(RsContext);
|
||||
|
||||
enum RsMessageToClientType {
|
||||
|
||||
@@ -630,6 +630,7 @@ Context::Context() {
|
||||
mPaused = false;
|
||||
mObjHead = NULL;
|
||||
mError = RS_ERROR_NONE;
|
||||
mDPI = 96;
|
||||
}
|
||||
|
||||
Context * Context::createContext(Device *dev, const RsSurfaceConfig *sc) {
|
||||
@@ -1078,10 +1079,12 @@ RsContext rsContextCreate(RsDevice vdev, uint32_t version) {
|
||||
return rsc;
|
||||
}
|
||||
|
||||
RsContext rsContextCreateGL(RsDevice vdev, uint32_t version, RsSurfaceConfig sc) {
|
||||
RsContext rsContextCreateGL(RsDevice vdev, uint32_t version,
|
||||
RsSurfaceConfig sc, uint32_t dpi) {
|
||||
LOGV("rsContextCreateGL %p", vdev);
|
||||
Device * dev = static_cast<Device *>(vdev);
|
||||
Context *rsc = Context::createContext(dev, &sc);
|
||||
rsc->setDPI(dpi);
|
||||
LOGV("rsContextCreateGL ret %p ", rsc);
|
||||
return rsc;
|
||||
}
|
||||
|
||||
@@ -218,6 +218,8 @@ public:
|
||||
|
||||
void launchThreads(WorkerCallback_t cbk, void *data);
|
||||
uint32_t getWorkerPoolSize() const {return (uint32_t)mWorkers.mCount;}
|
||||
uint32_t getDPI() const {return mDPI;}
|
||||
void setDPI(uint32_t dpi) {mDPI = dpi;}
|
||||
|
||||
protected:
|
||||
Device *mDev;
|
||||
@@ -258,6 +260,7 @@ protected:
|
||||
float EXT_texture_max_aniso;
|
||||
} mGL;
|
||||
|
||||
uint32_t mDPI;
|
||||
uint32_t mWidth;
|
||||
uint32_t mHeight;
|
||||
int32_t mThreadPriority;
|
||||
|
||||
@@ -733,7 +733,7 @@ void FontState::renderText(const char *text, uint32_t len, int32_t x, int32_t y,
|
||||
String8 fullPath(getenv("ANDROID_ROOT"));
|
||||
fullPath += fontsDir;
|
||||
|
||||
mDefault.set(Font::create(mRSC, fullPath.string(), 16, 96));
|
||||
mDefault.set(Font::create(mRSC, fullPath.string(), 8, mRSC->getDPI()));
|
||||
}
|
||||
currentFont = mDefault.get();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user