Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
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 and compute entry points with this flag are rejected.
std::optional< WorkgroupSizeworkgroupSize
 Declared workgroup size (compute entry points).

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 and compute entry points with this flag are rejected.

◆ workgroupSize

std::optional<WorkgroupSize> donner::gpu::shader::IrFunction::workgroupSize

Declared workgroup size (compute entry points).


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