コード例 #1
0
static void android_view_ThreadedRenderer_setProgramAtlas(JNIEnv* env, jobject clazz,
        jlong proxyPtr, jobject fileDescriptor, jint length, jlongArray programMap, jint programCount) {
    if (!fileDescriptor || programCount <= 0) {
        ALOGW("Failed to initialize program atlas, invalid program count: %d", programCount);
        return;
    }
    int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
    int64_t* pmap = new int64_t[programCount];
    env->GetLongArrayRegion(programMap, 0, programCount, pmap);

    RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
    proxy->setProgramAtlas(fd, length, pmap, programCount);
}