Skip to content

Running the showcase and tests

Sander van Rossen edited this page Oct 27, 2026 · 1 revision

After Building, the programs are in bin/<config>.

The showcase

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

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

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.

Validation layer crash with Vulkan SDK 1.4.341

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.

Clone this wiki locally