Repository navigation
Running the showcase and tests
After Building, the programs are in bin/<config>.
showcase (in examples/showcase) is an editor-style app that shows most of the library in
its panels; it isn't part of the library. It loads its files relative to the working
directory, so run it from workdirectory:
cd workdirectory
..\bin\Debug\showcase.exe
| Option | Does |
|---|---|
--ui-scale <factor> |
Zooms the UI on top of the OS display scale, for example 1.5
|
--theme <palette> |
Starts with another palette, for example themes/light.css
|
--panel <title> |
Brings that panel to the front of its tab group (repeatable) |
--float <title> |
Starts with that panel in its own window (repeatable) |
The examples are in examples/, one folder each. Each shows one thing, and runs from any folder:
| Example | Shows |
|---|---|
hello_world |
A window with a text field and buttons |
controls |
The common controls, laid out as label / value rows |
docking |
Panels in a dock layout |
custom_theme |
An app's own CSS file, dark and light palettes, font scaling |
host_device |
Hosting on the app's own Vulkan device and showing an image it renders |
The examples guide walks through each one.
The tests find workdirectory themselves:
| Command | Runs |
|---|---|
bin\Debug\gui_core_tests.exe |
The unit tests; no GPU needed |
bin\Debug\gui_gpu_tests.exe |
Tests on a real device, under the validation layers; skipped without a GPU |
ctest --test-dir build -C Debug |
Both, one process per test |
tests/package_consumer and tests/subproject_consumer are minimal hosts that check the
installed package and add_subdirectory use.
The Khronos validation layer in Vulkan SDK 1.4.341.1 crashes (a null read on one of its worker threads) in the GPU tests that present to a window. It isn't a TachyonUI defect: with the 1.4.309 layer all GPU tests pass, synchronization validation included. Point the loader at the older layer:
set VK_LAYER_PATH=C:\VulkanSDK\1.4.309.0\Bin
A debug build of any application that enables the validation layers is affected the same way.
TACHYON_GPU_TEST_NO_SYNC_VALIDATION=1 runs the GPU tests with core validation only, and a
crash in them prints a symbolized stack trace.
Getting started
Guides