Reland of gpu: Allow empty sync tokens in mailboxes.

Includes a fix for an issue with not generating sync tokens for copied
hardware planes.

> Original change's description:
> gpu: Allow empty sync tokens in mailboxes.
>
> ResourceProvider doesn't allow an empty sync token to be set on
> mailboxes even if that's intended. Furthermore, sync token verification
> doesn't work with empty sync tokens so they'd trigger dchecks in the IPC
> layer. This CL fixes both these issues. This is intended to be used by
> upcoming mojo VDA which runs command in the GPU process before returning
> a mailbox to the client. In this case an empty sync token makes sense
> because there is nothing to wait for.
>
> R=piman
> BUG=522298
>
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.> android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_te> sts_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.> win:win_optional_gpu_tests_rel
> Change-Id: Id9b120d8303e5f32ca63d909d8d2d2b945145da6
> Reviewed-on: https://chromium-review.googlesource.com/548973
> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#482759}

R=jbauman
TBR=piman,sandersd
BUG=522298,745941

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I188f0f02af653d262cd100cd92a67edd955788bb
Reviewed-on: https://chromium-review.googlesource.com/580197
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: John Bauman <jbauman@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489563}
12 files changed