35#ifndef ACRMSMeasurement_h
36#define ACRMSMeasurement_h
38#include "../scopehal/Averager.h"
39#include "../scopehal/LevelCrossingDetector.h"
41struct __attribute__((packed)) ACRMSPushConstants
45 uint32_t samplesPerThread;
49struct __attribute__((packed)) ACRMSTrendPushConstants
53 uint32_t numEdgePairs;
62 virtual void Refresh(vk::raii::CommandBuffer& cmdBuf, std::shared_ptr<QueueHandle> queue)
override;
64 static std::string GetProtocolName();
71 void DoRefreshUniform(
73 vk::raii::CommandBuffer& cmdBuf,
74 std::shared_ptr<QueueHandle> queue);
79 std::unique_ptr<ComputePipeline> m_rmsComputePipeline;
82 std::unique_ptr<ComputePipeline> m_trendComputePipeline;
Definition: ACRMSMeasurement.h:58
virtual DataLocation GetInputLocation() override
Gets the desired location of the nodes's input data.
Definition: ACRMSMeasurement.cpp:318
Helper for GPU accelerated waveform averaging.
Definition: Averager.h:49
Abstract base class for all filter graph blocks which are not physical instrument channels.
Definition: Filter.h:95
virtual void Refresh() override
Evaluates a filter graph node.
Definition: Filter.cpp:823
Helper for GPU accelerated level-crossing searches.
Definition: LevelCrossingDetector.h:64
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46