|
ngscopeclient v0.1
|
Main library include file. More...
#include <deque>#include <vector>#include <string>#include <map>#include <stdint.h>#include <chrono>#include <thread>#include <memory>#include <climits>#include <cinttypes>#include <set>#include <float.h>#include <shared_mutex>#include <sigc++/sigc++.h>#include <yaml-cpp/yaml.h>#include "../log/log.h"#include "../xptools/TimeUtil.h"#include "config.h"#include <vulkan/vulkan_raii.hpp>#include "Unit.h"#include "Bijection.h"#include "IDTable.h"#include "AcceleratorBuffer.h"#include "ComputePipeline.h"#include "SCPITransport.h"#include "SCPISocketTransport.h"#include "SCPITwinLanTransport.h"#include "SCPILxiTransport.h"#include "SCPINullTransport.h"#include "SCPIUARTTransport.h"#include "SCPIHIDTransport.h"#include "VICPSocketTransport.h"#include "SCPIDevice.h"#include "SCPITMCTransport.h"#include "FlowGraphNode.h"#include "Instrument.h"#include "StreamDescriptor.h"#include "OscilloscopeChannel.h"#include "StreamDescriptor_inlines.h"#include "FlowGraphNode_inlines.h"#include "Trigger.h"#include "BERT.h"#include "BinaryDriver.h"#include "CommandLineDriver.h"#include "DigitalIOChannel.h"#include "DigitalInputChannel.h"#include "DigitalOutputChannel.h"#include "FunctionGenerator.h"#include "FunctionGeneratorChannel.h"#include "Load.h"#include "CANChannel.h"#include "Multimeter.h"#include "MultimeterChannel.h"#include "Oscilloscope.h"#include "SParameterChannel.h"#include "PowerSupply.h"#include "PowerSupplyChannel.h"#include "RFSignalGenerator.h"#include "RFSignalGeneratorChannel.h"#include "SCPIInstrument.h"#include "HIDInstrument.h"#include "ModbusInstrument.h"#include "SCPIBERT.h"#include "SCPIFunctionGenerator.h"#include "SCPILoad.h"#include "SCPIMiscInstrument.h"#include "SCPIMultimeter.h"#include "SCPIOscilloscope.h"#include "SCPIPowerSupply.h"#include "SCPIRFSignalGenerator.h"#include "SpectrometerDarkFrameChannel.h"#include "SCPISA.h"#include "SCPISDR.h"#include "SCPISpectrometer.h"#include "SCPIVNA.h"#include "SwitchMatrix.h"#include "SParameters.h"#include "TouchstoneParser.h"#include "IBISParser.h"#include "FilterParameter.h"#include "Filter.h"#include "ImportFilter.h"#include "PeakDetectionFilter.h"#include "SpectrumChannel.h"#include "SParameterSourceFilter.h"#include "SParameterFilter.h"#include "FilterGraphExecutor.h"#include "QueueManager.h"Go to the source code of this file.
Classes | |
| struct | FIRFilterArgs |
| struct | ConvertRawSamplesShaderArgs |
| class | CompileTimeAssert< true > |
Functions | |
| uint32_t | GetComputeBlockCount (size_t numGlobal, size_t blockSize) |
| uint64_t | ConvertVectorSignalToScalar (const std::vector< bool > &bits) |
| std::string | GetDefaultChannelColor (int i) |
| std::string | Trim (const std::string &str) |
| std::string | TrimQuotes (const std::string &str) |
| std::string | BaseName (const std::string &path) |
| std::string | ReadFile (const std::string &path) |
| std::string | ReadDataFile (const std::string &relpath) |
| std::vector< uint32_t > | ReadDataFileUint32 (const std::string &relpath) |
| std::string | FindDataFile (const std::string &relpath) |
| void | GetTimestampOfFile (std::string path, time_t ×tamp, int64_t &fs) |
| std::string | to_string_sci (double d) |
| Like std::to_string, but output in scientific notation. | |
| std::string | to_string_hex (uint64_t n, bool zeropad=false, int len=0) |
| Like std::to_string, but output in hex. | |
| void | TransportStaticInit () |
| Static initialization for SCPI transports. | |
| void | DriverStaticInit () |
| Static initialization for instrument drivers. | |
| bool | VulkanInit (bool skipGLFW=false) |
| Initialize a Vulkan context for compute. More... | |
| void | InitializeSearchPaths () |
| void | InitializePlugins () |
| Initialize all plugins. | |
| void | DetectCPUFeatures () |
| Static initialization for CPU feature flags. | |
| std::string | GetDirOfCurrentExecutable () |
| Gets the path to the directory containing the current executable. | |
| void | ScopehalStaticCleanup () |
| float | FreqToPhase (float hz) |
| Converts a frequency in Hz to a phase velocity in rad/sec. | |
| uint64_t | next_pow2 (uint64_t v) |
| Rounds a 64-bit integer up to the next power of 2. | |
| uint64_t | prev_pow2 (uint64_t v) |
| Rounds a 64-bit integer down to the next power of 2. | |
| std::vector< std::string > | explode (const std::string &str, char separator) |
| std::string | str_replace (const std::string &search, const std::string &replace, const std::string &subject) |
| std::string | strtolower (const std::string &s) |
| std::string | ExpandPath (const std::string &in) |
| void | CreateDirectory (const std::string &path) |
| uint32_t | CRC32 (const uint8_t *bytes, size_t start, size_t end) |
| Calculates a CRC32 checksum using the standard Ethernet polynomial. | |
| uint32_t | CRC32 (const std::vector< uint8_t > &bytes) |
| uint32_t | ColorFromString (const std::string &str, unsigned int alpha=255) |
| const char * | ScopehalGetVersion () |
| Returns the library version string (Semantic Version formatted) | |
Variables | |
| bool | g_gpuFilterEnabled |
| True if filters can use GPU acceleration. More... | |
| bool | g_hasShaderFloat64 |
| Indicates whether the float64 type is available for use in shaders and SSBOs. | |
| bool | g_hasShaderInt64 |
| Indicates whether the int64 type is available for use in shaders and SSBOs. | |
| bool | g_hasShaderInt16 |
| Indicates whether the int16 type is available for use in shaders and SSBOs. | |
| bool | g_hasShaderInt8 |
| Indicates whether the int8 type is available for use in shaders and SSBOs. | |
| bool | g_hasShaderAtomicFloat |
| Indicates whether atomic operations on the float type are available in shaders. | |
| bool | g_hasDebugUtils |
| Indicates whether the VK_EXT_debug_utils extension is available. | |
| bool | g_hasMemoryBudget |
| Indicates whether the VK_EXT_memory_budget extension is available. | |
| bool | g_hasPushDescriptor |
| Indicates whether the VK_KHR_push_descriptor extension is available. | |
| size_t | g_maxComputeGroupCount [3] |
| Maximum size of a Vulkan dispatch group for compute shaders, in each axis. | |
| std::vector< std::string > | g_searchPaths |
| vk::raii::Context | g_vkContext |
| Global Vulkan context. | |
| std::unique_ptr< vk::raii::Instance > | g_vkInstance |
| Global Vulkan instance. | |
| uint8_t | g_vkComputeDeviceUuid [16] |
| UUID of g_vkComputeDevice. | |
| uint32_t | g_vkComputeDeviceDriverVer |
| Driver version of g_vkComputeDevice. | |
| vk::raii::PhysicalDevice * | g_vkComputePhysicalDevice |
| Physical device for g_vkComputeDevice. | |
| std::unique_ptr< QueueManager > | g_vkQueueManager |
| Allocates QueueHandle objects. More... | |
| bool | g_vulkanDeviceIsIntelMesa |
| Indicates that the Vulkan driver is Mesa on an Intel GPU. | |
| bool | g_vulkanDeviceIsAnyMesa |
| Indicates that the Vulkan driver is Mesa on any GPU. | |
| bool | g_vulkanDeviceIsMoltenVK |
| Indicates that the Vulkan driver is MoltenVK. | |
| uint32_t | g_vkPinnedMemoryHeap |
| Heap from which g_vkPinnedMemoryType is allocated. | |
| uint32_t | g_vkLocalMemoryHeap |
| Heap from which g_vkLocalMemoryType is allocated. | |
| bool | g_vulkanDeviceHasUnifiedMemory |
| Indicates whether the Vulkan device is unified memory. More... | |
| std::shared_mutex | g_vulkanActivityMutex |
| Mutex for controlling access to background Vulkan activity. More... | |
Main library include file.
|
extern |
True if filters can use GPU acceleration.
Will be deprecated soon since Vulkan is now a mandatory core part of the application
|
extern |
Mutex for controlling access to background Vulkan activity.
Arbitrarily many threads can own this mutex at once, but it must be held when calling vkDeviceWaitIdle.