diff options
Diffstat (limited to 'tests/SurfaceViewBufferTests/cpp/SurfaceProxy.cpp')
-rw-r--r-- | tests/SurfaceViewBufferTests/cpp/SurfaceProxy.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/SurfaceViewBufferTests/cpp/SurfaceProxy.cpp b/tests/SurfaceViewBufferTests/cpp/SurfaceProxy.cpp index ce226fdce320..926ff4d5793c 100644 --- a/tests/SurfaceViewBufferTests/cpp/SurfaceProxy.cpp +++ b/tests/SurfaceViewBufferTests/cpp/SurfaceProxy.cpp @@ -130,6 +130,9 @@ JNIEXPORT jint JNICALL Java_com_android_test_SurfaceProxy_SurfaceDequeueBuffer(J return result; } sBuffers[slot] = anb; + if (timeoutMs == 0) { + return android::OK; + } android::sp<android::Fence> fence(new android::Fence(fenceFd)); int waitResult = fence->wait(timeoutMs); if (waitResult != android::OK) { @@ -197,6 +200,28 @@ JNIEXPORT jint JNICALL Java_com_android_test_SurfaceProxy_SurfaceQueueBuffer(JNI return result; } +JNIEXPORT jint JNICALL Java_com_android_test_SurfaceProxy_SurfaceSetAsyncMode(JNIEnv* /* env */, + jclass /* clazz */, + jboolean async) { + assert(sAnw); + android::sp<android::Surface> surface = static_cast<android::Surface*>(sAnw); + return surface->setAsyncMode(async); +} + +JNIEXPORT jint JNICALL Java_com_android_test_SurfaceProxy_SurfaceSetDequeueTimeout( + JNIEnv* /* env */, jclass /* clazz */, jlong timeoutMs) { + assert(sAnw); + android::sp<android::Surface> surface = static_cast<android::Surface*>(sAnw); + return surface->setDequeueTimeout(timeoutMs); +} + +JNIEXPORT jint JNICALL Java_com_android_test_SurfaceProxy_SurfaceSetMaxDequeuedBufferCount( + JNIEnv* /* env */, jclass /* clazz */, jint maxDequeuedBuffers) { + assert(sAnw); + android::sp<android::Surface> surface = static_cast<android::Surface*>(sAnw); + return surface->setMaxDequeuedBufferCount(maxDequeuedBuffers); +} + JNIEXPORT jint JNICALL Java_com_android_test_SurfaceProxy_NativeWindowSetBufferCount( JNIEnv* /* env */, jclass /* clazz */, jint count) { assert(sAnw); |