6#include "../Systems/UniformFieldAggregatorSystem.h"
7#include "../TileSetManager.h"
16 struct GridRemappedTaskData;
17 struct GridRemapTileTaskData;
19 struct SampleVolumeTask2
23 GridRemapTileTaskData& data;
24 EchoSounder::PingInfo* pinf;
28 std::atomic<uint64_t>* elapsed_us;
30 SampleVolumeTask2(TileValue* field,
32 GridRemapTileTaskData& data,
33 EchoSounder::PingInfo* pinf,
37 std::atomic<uint64_t>* elapsed_us)
38 : field(field), times(times), data(data), pinf(pinf),
39 numPings(numPings),minIndex(minIndex), maxIndex(maxIndex),
40 elapsed_us(elapsed_us)
45 void runVanilla(TileValue * dstValues,
46 uint16_t * timeValues,
48 const uint32_t upperFansToRemove,
49 const uint32_t numPings,
50 const uint32_t numSamples,
51 const uint32_t gridSizeX,
52 const uint32_t gridSizeY,
53 const float depthOffset,
54 const float depthStep,
55 const float sampleSpacing,
57 const std::vector<float>& beamAngleAlongship,
58 const std::vector<float>& beamAngleAthwartship,
59 const glm::ivec3& this_minIndex,
60 const glm::ivec3& this_maxIndex);
62 void runSSE4_1(TileValue * dstValues,
63 uint16_t * timeValues,
65 const uint32_t upperFansToRemove,
66 const uint32_t numPings,
67 const uint32_t numSamples,
68 const uint32_t gridSizeX,
69 const uint32_t gridSizeY,
70 const float depthOffset,
71 const float depthStep,
72 const float sampleSpacing,
74 const std::vector<float>& beamAngleAlongship,
75 const std::vector<float>& beamAngleAthwartship,
76 const glm::ivec3& this_minIndex,
77 const glm::ivec3& this_maxIndex);
79#ifdef COGS_EXTENSIONS_AVX
80 void runAVX2(TileValue * dstValues,
81 uint16_t * timeValues,
83 const uint32_t upperFansToRemove,
84 const uint32_t numPings,
85 const uint32_t numSamples,
86 const uint32_t gridSizeX,
87 const uint32_t gridSizeY,
88 const float depthOffset,
89 const float depthStep,
90 const float sampleSpacing,
92 const std::vector<float>& beamAngleAlongship,
93 const std::vector<float>& beamAngleAthwartship,
94 const glm::ivec3& this_minIndex,
95 const glm::ivec3& this_maxIndex);
Contains all Cogs related functionality.