~mir-team/mir/development-branch

« back to all changes in this revision

Viewing changes to tests/unit-tests/client/android/test_client_surface_interpreter.cpp

  • Committer: Daniel van Vugt
  • Author(s): Kevin DuBois
  • Date: 2013-11-13 02:55:46 UTC
  • mfrom: (1062.1.23 mali-client-render-support)
  • Revision ID: daniel.van.vugt@canonical.com-20131113025546-2u059ffogt5yj2yz
android: support driver hooks for the Mali T604 (present in nexus 10)

The exynos driver needed some function hooks implemented. This change
implements those hooks and gets the TestClientIPCRender test to pass. This
test sends buffers over IPC to a client, and the client then establishes an
egl context, renders to the buffer, and checks the buffer content back on the
server side.

Show diffs side-by-side

added added

removed removed

Lines of Context:
207
207
 
208
208
    EXPECT_EQ(surf_params.height, height);
209
209
}
 
210
 
 
211
/* this is query key is a bit confusing from the system/window.h description.
 
212
   what it means is the minimum number of buffers that the server reserves for its own use in steady 
 
213
   state. The drivers consider 'steady state' to begin after the first call to queueBuffer.
 
214
   So, for instance, if a driver requires 3 buffers to run at steady state, and the server needs
 
215
   to keep 2 buffers on hand at all time, the driver might dequeue 5 buffers, then cancel those 5 buffers.
 
216
   After the first call to queueBuffer however, the client may never own more than the number it has
 
217
   reserved (in this case, 3 buffers) */
 
218
TEST_F(AndroidInterpreterTest, native_window_minimum_undequeued_query_hook)
 
219
{
 
220
    testing::NiceMock<MockMirSurface> mock_surface{surf_params};
 
221
    mcla::ClientSurfaceInterpreter interpreter(mock_surface);
 
222
 
 
223
    auto num_buffers = interpreter.driver_requests_info(NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS);
 
224
    EXPECT_EQ(2, num_buffers);
 
225
}