Genericized intrin parsing from Ambience

This commit is contained in:
2026-04-04 00:44:48 -04:00
parent 7516da6aa8
commit 1c0f028de0
3 changed files with 175 additions and 36 deletions
@@ -994,13 +994,16 @@ void OpenClCollatingAndMeshingEngine::produceAmbienceStimulusFrame(
float* averageIntensityAverages = reinterpret_cast<float*>(
averageIntensityBufferPtr);
// Count frames whose average intensity matches the configured comparator.
uint32_t ambienceCount = 0;
for (uint32_t i = 0; i < nSucceeded; ++i)
uint32_t ambiencePassbandCount = 0;
if (ambienceCountComparator.has_value())
{
float avg = averageIntensityAverages[i];
if (ambienceCountComparator(avg)) {
++ambienceCount;
// Count frames whose average intensity matches the configured comparator.
for (uint32_t i = 0; i < nSucceeded; ++i)
{
float avg = averageIntensityAverages[i];
if (ambienceCountComparator.value()(avg)) {
++ambiencePassbandCount;
}
}
}
@@ -1010,7 +1013,7 @@ void OpenClCollatingAndMeshingEngine::produceAmbienceStimulusFrame(
::PcloudAmbienceStimulusValue;
PcloudAmbienceStimVal* ambienceValue = reinterpret_cast<
PcloudAmbienceStimVal*>(ambienceFrame.slotDesc.vaddr);
ambienceValue[0] = ambienceCount;
ambienceValue[0] = ambiencePassbandCount;
}
class OpenClCollatingAndMeshingEngine::CompactCollateAndMeshFrameReq