tree 52f688bed90e73cd2b420fb7f7728620b66659e7
parent 3c80730148d7f91be89239cdaa47910cc07e2ee2
author David 'Digit' Turner <digit@google.com> 1565611918 +0200
committer David Turner <digit@google.com> 1565766018 +0000

Support launching the VulkanUnitTests suite on Fuchsia.

This small CL allows one to build and run the VulkanUnitTests
suite for Fuchsia using the Chromium build system.

Note that the output library generated by the BUILD.gn file
is also renamed libvk_swiftshader.so to correspond to the name
used by other build systems (e.g. CMakeList.txt and Android.{mk,bp}).

This also avoids a Fuchsia-specific issue, where the packaging
scripts under //build/fuchsia/ (in the Chromium src/ tree), get
confused when a generated library has the same name as one of
the system libraries (in this case, libvulkan.so, which is the
Vulkan loader provided by the SDK, and which must be copied into
the final Fuchsia package along the ICD).

Note also that most tests crash inside the generated coroutine
machine code :-/

Instructions to properly rebuild and test this:

  - Have depot_tools in your path, and a valid Chromium source
    checkout.

  - Ensure that your .gclient file contains 'fuchsia' in its
    `target_os` list variable definition, otherwise add it
    and run `gclient sync` again to fetch the Fuchsia SDK
    and other dependencies.

  - Create an output directory configured for a Fuchsia/x64 build, then
    rebuild the test suite target, e.g.:

       gn gen out/Fuchsia --args 'target_os="fuchsia" target_cpu="x64" \
           use_goma = true \
           root_extra_deps = [ \
              "//third_party/swiftshader/tests/VulkanUnitTests:swiftshader_vulkan_unittests" \
	   ]'
       ninja -C out/Fuchsia swiftshader_vulkan_unittests

  - Run the test suite with the wrapper script:

       out/Fuchsia/bin/run_swiftshader_vulkan_unittests

    NOTE: This will start a QEMU instance running a Fuchsia system image
          automatically.

+ Define VK_USE_PLATFORM_FUCHSIA when building
  for Fuchsia. This will be used by future CLs that add
  support for Fuchsia-specific extensions.

Change-Id: I687f51e98ee3cb16f6d585f44f4bb5f0631b1cd8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/34911
Tested-by: David Turner <digit@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
