desktop vs shield discrepancy


I am trying to create a very minimal Vulkan example and have run into issues in that it works seemingly OK on desktop (Linux GeForce GT 720) but not so good on my Nvidia shield device.

The example more or less creates an image, draws a grid into it (by memory mapping and using the CPU), acquires a swapchain image and copies into that swapchain image.

Validation layers are enabled and they have no complaints (they did at first, of course, but then I fixed those remarks).

The symptom is that on the shield device the grid looks skewed/corrupted and only every third frame seem to be shown.

Would anyone with insight care to have a look and suggest what I am doing wrong?

The code is at and builds for android and/or xcb without any additional dependencies.


My issue has been resolved. It turned out that doing a

ANativeActivity_setWindowFlags(state->activity, AWINDOW_FLAG_FULLSCREEN, 0);

was quite essential to make the swapchain work properly on Android. Not clear to me why/if this is common knowledge though…