Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
CompositeBindings.h File Reference

Binding indices shared by the composite filter program and its hosts. More...

#include <cstdint>
#include <string_view>
Include dependency graph for CompositeBindings.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.

Enumerations

enum class  donner::gpu::shader::programs::CompositeBinding : uint32_t {
  SourceTexture = 0 ,
  DestinationTexture = 1 ,
  OutputTexture = 2 ,
  Params = 3
}
 Resources in bind group zero. More...
enum class  donner::gpu::shader::programs::CompositeOperator : uint32_t {
  Over = 0 ,
  In = 1 ,
  Out = 2 ,
  Atop = 3 ,
  Xor = 4 ,
  Lighter = 5 ,
  Arithmetic = 6
}
 SVG compositing operators as encoded in the uniform block. More...

Variables

constexpr std::string_view donner::gpu::shader::programs::kCompositeEntryPoint = "cs_main"
 Compute entry point declared by the program.
constexpr uint32_t donner::gpu::shader::programs::kCompositeWorkgroupSize = 8
 Workgroup width and height shared by the program and dispatch sizing.

Detailed Description

Binding indices shared by the composite filter program and its hosts.

Enumeration Type Documentation

◆ CompositeBinding

Resources in bind group zero.

Enumerator
SourceTexture 

Premultiplied source color.

DestinationTexture 

Premultiplied backdrop color.

OutputTexture 

Write-only rgba32float result.

Params 

Operator and arithmetic coefficients.

◆ CompositeOperator

SVG compositing operators as encoded in the uniform block.

Enumerator
Over 

Source over destination.

In 

Source inside destination.

Out 

Source outside destination.

Atop 

Source atop destination.

Xor 

Nonoverlapping source and destination.

Lighter 

Saturating sum.

Arithmetic 

Weighted product, sum, and constant.