|
ngscopeclient v0.2.2
|
A waveform sampled at irregular intervals. More...
#include <Waveform.h>


Public Member Functions | |
| SparseWaveform (const std::string &name="") | |
| Creates a new sparse waveform. | |
| virtual void | Rename (const std::string &name="") override |
| Assigns a human readable name to the waveform for debug purposes. | |
| SparseWaveform (UniformWaveform< S > &rhs) | |
| Constructs a sparse waveform as a copy of a uniform waveform, marking all samples as 1 timebase unit in length. | |
| virtual void | SetCpuOnlyHint () override |
| Helper function to indicate this waveform will only be used on the CPU. | |
| virtual void | FreeGpuMemory () override |
| Free GPU-side memory if we are short on VRAM or do not anticipate using this waveform for a while. | |
| virtual bool | HasGpuBuffer () override |
| Returns true if we have at least one buffer resident on the GPU. | |
| virtual void | Resize (size_t size) override |
| Reallocates buffers so the waveform contains the specified number of samples. | |
| virtual void | Reserve (size_t size) override |
| Preallocates buffers without changing the usable size of the waveform. | |
| virtual size_t | size () const override |
| Returns the number of samples in this waveform. | |
| virtual size_t | GetMemoryBytes () const override |
| Gets the amount of memory consumed by the waveform (may be CPU, GPU, or mirrored) | |
| virtual size_t | capacity () const override |
| Returns the number of samples allocated in this waveform. | |
| virtual void | clear () override |
| Remove all samples from this waveform. | |
| virtual void | PrepareForCpuAccess () override |
| Indicates that this waveform is going to be used by the CPU in the near future. | |
| virtual void | PrepareForCpuAccessNonblocking (vk::raii::CommandBuffer &cmdBuf) override |
| Indicates that this waveform is going to be used by the CPU in the near future. | |
| virtual void | PrepareForGpuAccess () override |
| Indicates that this waveform is going to be used by the GPU in the near future. | |
| virtual void | PrepareForGpuAccessNonblocking (vk::raii::CommandBuffer &cmdBuf) override |
| Indicates that this waveform is going to be used by the GPU in the near future. | |
| virtual void | MarkSamplesModifiedFromCpu () override |
| Indicates that this waveform's sample data has been modified on the CPU and the GPU-side copy is no longer coherent. | |
| virtual void | MarkSamplesModifiedFromGpu () override |
| Indicates that this waveform's sample data has been modified on the GPU and the CPU-side copy is no longer coherent. | |
| void | SetGpuAccessHint (enum AcceleratorBuffer< S >::UsageHint hint) |
| Passes a hint to the memory allocator about where our sample data is expected to be used. | |
Public Member Functions inherited from SparseWaveformBase | |
| SparseWaveformBase () | |
| Constructs a new empty sparse waveform. | |
| void | CopyTimestamps (const SparseWaveformBase *rhs) |
| Copies offsets/durations from another waveform into this one. | |
| void | MarkTimestampsModifiedFromCpu () |
| void | MarkTimestampsModifiedFromGpu () |
| virtual void | MarkModifiedFromCpu () override |
| Indicates that this waveform's sample data and timestamps have been modified on the CPU and the GPU-side copy is no longer coherent. | |
| virtual void | MarkModifiedFromGpu () override |
| Indicates that this waveform's sample data and timestamps have been modified on the GPU and the CPU-side copy is no longer coherent. | |
Public Member Functions inherited from WaveformBase | |
| WaveformBase () | |
| Creates an empty waveform. | |
| WaveformBase (const WaveformBase &rhs) | |
| Creates a waveform, copying metadata from another. | |
| virtual bool | empty () |
| Returns true if this waveform contains no samples, false otherwise. | |
| virtual std::string | GetText (size_t i) |
| Returns the text representation of a given protocol sample. | |
| virtual std::string | GetColor (size_t) |
| Returns the displayed color (in HTML #rrggbb or #rrggbbaa notation) of a given protocol sample. | |
| virtual uint32_t | GetColorCached (size_t i) |
| Returns the packed RGBA32 color of a given protocol sample calculated by CacheColors() | |
| virtual void | CacheColors () |
| Updates the cache of packed colors to avoid string parsing every frame. | |
Public Attributes | |
| AcceleratorBuffer< S > | m_samples |
| Sample data. | |
Public Attributes inherited from SparseWaveformBase | |
| AcceleratorBuffer< int64_t > | m_offsets |
| Start timestamps of each sample, in multiples of m_timescale. | |
| AcceleratorBuffer< int64_t > | m_durations |
| Durations of each sample, in multiples of m_timescale. | |
Public Attributes inherited from WaveformBase | |
| int64_t | m_timescale |
| The time scale, in X axis units (usually femtoseconds) per timestep, used by this channel. | |
| time_t | m_startTimestamp |
| Start time of the acquisition, integer part. | |
| int64_t | m_startFemtoseconds |
| Start time of the acquisition, fractional part (femtoseconds since since the UTC second) | |
| int64_t | m_triggerPhase |
| Offset, in X axis units (usually femtoseconds), from the trigger to the sampling clock. | |
| uint8_t | m_flags |
| Flags that apply to this waveform. Bitfield containing zero or more WaveformFlags_t values. | |
| uint64_t | m_revision |
| Revision number. | |
Additional Inherited Members | |
Public Types inherited from WaveformBase | |
| enum | WaveformFlags_t { WAVEFORM_CLIPPING = 1 } |
| Flags which may apply to m_flags. More... | |
Protected Attributes inherited from WaveformBase | |
| AcceleratorBuffer< uint32_t > | m_protocolColors |
| Cache of packed RGBA32 data with colors for each protocol decode event. Empty for non-protocol waveforms. | |
| uint64_t | m_cachedColorRevision |
| Revision we last cached colors of. | |
|
inline |
Creates a new sparse waveform.
| name | Internal name for this waveform, to be displayed in debug log messages etc |
Returns the number of samples allocated in this waveform.
Implements WaveformBase.
Remove all samples from this waveform.
Implements WaveformBase.
Free GPU-side memory if we are short on VRAM or do not anticipate using this waveform for a while.
Implements WaveformBase.
|
inlineoverridevirtual |
Gets the amount of memory consumed by the waveform (may be CPU, GPU, or mirrored)
Implements WaveformBase.
Returns true if we have at least one buffer resident on the GPU.
Implements WaveformBase.
|
inlineoverridevirtual |
Indicates that this waveform's sample data has been modified on the CPU and the GPU-side copy is no longer coherent.
Implements WaveformBase.
|
inlineoverridevirtual |
Indicates that this waveform's sample data has been modified on the GPU and the CPU-side copy is no longer coherent.
Implements WaveformBase.
Indicates that this waveform is going to be used by the CPU in the near future.
This ensures the CPU-side copy of the data is coherent with the most recently modified (CPU or GPU side) copy.
Implements WaveformBase.
|
inlineoverridevirtual |
Indicates that this waveform is going to be used by the CPU in the near future.
This ensures the CPU-side copy of the data is coherent with the most recently modified (CPU or GPU side) copy.
Implements WaveformBase.
Indicates that this waveform is going to be used by the GPU in the near future.
This ensures the GPU-side copy of the data is coherent with the most recently modified (CPU or GPU side) copy.
Implements WaveformBase.
|
inlineoverridevirtual |
Indicates that this waveform is going to be used by the GPU in the near future.
This ensures the GPU-side copy of the data is coherent with the most recently modified (CPU or GPU side) copy.
Implements WaveformBase.
|
inlineoverridevirtual |
Assigns a human readable name to the waveform for debug purposes.
This value may be printed in internal log messages, by the Vulkan validation layers, displayed in frame debuggers, etc.
Implements WaveformBase.
Preallocates buffers without changing the usable size of the waveform.
Implements WaveformBase.
Reallocates buffers so the waveform contains the specified number of samples.
If the waveform shrinks, excess memory is not freed by default. If the waveform grows, new samples are uninitialized.
| size | New size of the waveform buffer, in samples |
Implements WaveformBase.
Helper function to indicate this waveform will only be used on the CPU.
Reimplemented from SparseWaveformBase.
|
inline |
Passes a hint to the memory allocator about where our sample data is expected to be used.
| hint | Hint value for expected usage |
Returns the number of samples in this waveform.
Implements WaveformBase.