Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
Loading...
Searching...
No Matches
donner::gpu::shader::IrFunction Struct Reference

One function: a plain function or an entry point. More...

#include "donner/gpu/shader/IrModule.h"

Public Attributes

RcString name
 Function name.
StageKind stage = StageKind::None
 Stage kind.
std::vector< IrParamparams
 Parameters, in order.
std::optional< IrTypereturnType
 Plain function return type (empty = void).
std::vector< IrOutputMemberoutputs
 Entry point outputs (empty for plain functions).
IrBlock body
 Function body.
bool usesFragmentOnlyBuiltins = false
 True if the body (or any user function it calls) calls an implicit-derivative builtin (fwidth, textureSample). Computed at finish(); vertex entry points with this flag are rejected.

Detailed Description

One function: a plain function or an entry point.

Member Data Documentation

◆ body

IrBlock donner::gpu::shader::IrFunction::body

Function body.

◆ name

RcString donner::gpu::shader::IrFunction::name

Function name.

◆ outputs

std::vector<IrOutputMember> donner::gpu::shader::IrFunction::outputs

Entry point outputs (empty for plain functions).

◆ params

std::vector<IrParam> donner::gpu::shader::IrFunction::params

Parameters, in order.

◆ returnType

std::optional<IrType> donner::gpu::shader::IrFunction::returnType

Plain function return type (empty = void).

◆ stage

StageKind donner::gpu::shader::IrFunction::stage = StageKind::None

Stage kind.

◆ usesFragmentOnlyBuiltins

bool donner::gpu::shader::IrFunction::usesFragmentOnlyBuiltins = false

True if the body (or any user function it calls) calls an implicit-derivative builtin (fwidth, textureSample). Computed at finish(); vertex entry points with this flag are rejected.


The documentation for this struct was generated from the following file: