10#include "dawn/common/bindable.hxx"
11#include "dawn/porting/config.hxx"
109 PROG_CLASS_BITSPLIT = 20,
110 PROG_CLASS_TOGGLE = 21,
111 PROG_CLASS_COUNTER = 22,
112 PROG_CLASS_SWITCH = 23,
113 PROG_CLASS_EXPRESSION = 24,
114 PROG_CLASS_SELECTOR = 25,
115 PROG_CLASS_BITPACK = 26,
116 PROG_CLASS_CONFIGWRITER = 27,
117 PROG_CLASS_VECPACK = 28,
118 PROG_CLASS_VECSPLIT = 29,
119 PROG_CLASS_MANYTOONE = 30,
120 PROG_CLASS_ONETOMANY = 31,
121 PROG_CLASS_IOMUX = 32,
122 PROG_CLASS_IODEMUX = 33,
130 static_assert(PROG_CLASS_LAST - 1 <= SObjectId::CLS_MAX);
148 explicit CProgCommon(CDescObject &desc);
151 int prepareWritableTarget(CIOCommon *io,
size_t dim,
bool notify);
Base object with bindable object map support.
Base class for all PROG (processing) objects.
EProgClass
Program object class types.
@ PROG_CLASS_LATEST
Cache latest notified sample for fetch-based readers.
@ PROG_CLASS_MOVING_AVG
Moving average filter.
@ PROG_CLASS_IIR_FILTER
First-order IIR filter.
@ PROG_CLASS_DUMMY
Dummy program (test/helper).
@ PROG_CLASS_THRESHOLD_VALUE
Threshold comparator returning gated source value.
@ PROG_CLASS_STATS_MAX
Maximum value tracker.
@ PROG_CLASS_USER
User-defined PROG types start here.
@ PROG_CLASS_STATS_MIN
Minimum value tracker.
@ PROG_CLASS_GATEWAY
Protocol-to-protocol IO gateway.
@ PROG_CLASS_SEQUENCER
Periodic state sequencer.
@ PROG_CLASS_ANY
Generic PROG type.
@ PROG_CLASS_STATS_SUM
Sum accumulator.
@ PROG_CLASS_BUFFER
Notify-driven history capture buffer.
@ PROG_CLASS_SAMPLING
Periodic data sampler.
@ PROG_CLASS_THRESHOLD
Threshold and hysteresis comparator.
@ PROG_CLASS_REDIRECT
Generic input-to-output routing bridge.
@ PROG_CLASS_STATS_RMS
Running RMS (root mean square) calculator.
@ PROG_CLASS_ADJUST
Scale/offset adjustment.
@ PROG_CLASS_STATS_COUNT
Sample counter.
@ PROG_CLASS_STATS_AVG
Running average calculator.
Out-of-tree user-extension hooks for Dawn.