thorvg/meson_options.txt
SergeyLebedkin 35b03c826e wg_engine: introduce a webgpu canvas(engine)
WebGPU is a Render Hardware Interface built on top of the various APIs 
provided by the driver/OS depending on your platform. 

WebGPU exposes an API for performing operations, 
such as rendering and computation, on a Graphics Processing Unit.

WebGPU official documentation: https://www.w3.org/TR/webgpu/

The new engine type introduced: tvg::CanvasEngine::Wg

The new canvas type introduced: tvg::WgCanvas

Example:
$meson setup build -Dengines=wg_beta

`
    // init engine webgpu
    tvg::Initializer::init(tvg::CanvasEngine::Wg, 0);

    // create wg canvas
    auto canvasWg = tvg::WgCanvas::gen();
    canvas_wg->target(glfwGetWin32Window(window), width, height);

    // ...

    // terminate engine and window
    tvg::Initializer::term(tvg::CanvasEngine::Wg);
`
Still this feature is under the beta

Issue: https://github.com/thorvg/thorvg/issues/1479
2023-12-26 17:49:16 +09:00

54 lines
1.3 KiB
Meson

option('engines',
type: 'array',
choices: ['sw', 'gl_beta', 'wg_beta'],
value: ['sw'],
description: 'Enable Rasterizer Engine in thorvg')
option('loaders',
type: 'array',
choices: ['', 'tvg', 'svg', 'png', 'jpg', 'webp_beta', 'lottie', 'all'],
value: ['svg', 'tvg', 'lottie'],
description: 'Enable File Loaders in thorvg ("all" does not include "*_beta".)')
option('savers',
type: 'array',
choices: ['', 'tvg', 'all'],
value: [''],
description: 'Enable File Savers in thorvg')
option('vector',
type: 'boolean',
value: false,
description: 'Enable CPU Vectorization(SIMD) in thorvg')
option('bindings',
type: 'array',
choices: ['', 'capi', 'wasm_beta'],
value: [''],
description: 'Enable API bindings')
option('tools',
type: 'array',
choices: ['', 'svg2tvg', 'svg2png', 'all'],
value: [''],
description: 'Enable building thorvg tools')
option('examples',
type: 'boolean',
value: false,
description: 'Enable building examples')
option('tests',
type: 'boolean',
value: false,
description: 'Enable building Unit Tests')
option('log',
type: 'boolean',
value: false,
description: 'Enable log message')
option('static',
type: 'boolean',
value: false,
description: 'Force to use static linking modules in thorvg')