Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39dac4de authored by Michael Butler's avatar Michael Butler
Browse files

Do not call releaseMemoryResource on ignored slot in NN VTS

For IBurst, a slot value of -1 indicates the slot should be ignored.
However, GeneratedTestHarness still attempts to call
IBurst::releaseMemoryResource on ignored slots. Instead, we should skip
releasing any ignored slots.

Bug: 230103381
Test: mma
Test: VtsHalNeuralnetworksTargetTest
Test: presubmit
Change-Id: I82e538aa0fd9e8ecc077df1c1ceece46a6166e67
Merged-In: I82e538aa0fd9e8ecc077df1c1ceece46a6166e67
parent 5b64e55e
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -659,6 +659,7 @@ void EvaluatePreparedModel(const std::shared_ptr<IDevice>& device,
                ASSERT_NE(nullptr, burst.get());

                // associate a unique slot with each memory pool
                constexpr int64_t kIgnoreSlot = -1;
                int64_t currentSlot = 0;
                std::vector<int64_t> slots;
                slots.reserve(request.pools.size());
@@ -667,7 +668,7 @@ void EvaluatePreparedModel(const std::shared_ptr<IDevice>& device,
                        slots.push_back(currentSlot++);
                    } else {
                        EXPECT_EQ(pool.getTag(), RequestMemoryPool::Tag::token);
                        slots.push_back(-1);
                        slots.push_back(kIgnoreSlot);
                    }
                }

@@ -698,9 +699,11 @@ void EvaluatePreparedModel(const std::shared_ptr<IDevice>& device,
                // Mark each slot as unused after the execution. This is unnecessary because the
                // burst is freed after this scope ends, but this is here to test the functionality.
                for (int64_t slot : slots) {
                    if (slot != kIgnoreSlot) {
                        ret = burst->releaseMemoryResource(slot);
                        ASSERT_TRUE(ret.isOk()) << ret.getDescription();
                    }
                }

                break;
            }