Allow the window to be recreated in the middle of a test
authorLloyd Pique <lpique@google.com>
Wed, 25 Apr 2018 02:08:39 +0000 (19:08 -0700)
committerLloyd Pique <lpique@google.com>
Wed, 25 Apr 2018 19:19:08 +0000 (12:19 -0700)
commit30ef1bf331d251fce77e0a7a9a5c3ea9c638d32f
treeeeb3d8677de2317ad99f3d24ae92189105b575a0
parentf03effb5a034c9e6dadd27d58fcc2d33af75eb00
Allow the window to be recreated in the middle of a test

On ARC++ devices, some of the dEQP CTS tests were occasionally failing on
devices running in tablet mode, due to the timing of a WM relayout that
happens shortly after the orientation change is realized.

We traced it back to the dEQP test harness always expecting to see a
call from the system to onNativeWindowResized() after a call to
oNNativeWindowCreated(). It happened that the relayout on ARC++ devices
was not causing a size change, so this message was never received.

The result was that the test paused itself, and never completed. The
watchdog thread that the test harness creates ended up killing and
failing the test.

This patch adjusts the logic so that the activity only waits to process
the window creation for the very first call to onNativeWindowResized(),
as when the activity is first created that call is indeed made (but note
not really guaranteed). A subsequent call to onNativeWindowCreated()
will unpause the test (setting the READY state), as well as finish
processing the window creation.

Bug: 74371892
Test: dEQP-GLES3.functional.prerequisite#clear_color
Change-Id: I3c429aea272cbfee3f150a32c12233c9f38a7936
framework/platform/android/tcuAndroidRenderActivity.cpp
framework/platform/android/tcuAndroidRenderActivity.hpp