Files
Renderive/tests/Memory_Default.cpp
T
2026-07-30 08:07:43 +08:00

26 lines
731 B
C++

#include <cstdint>
#include <thread>
#include <vector>
#include "../Renderive/base/Memory.h"
namespace {
struct Payload {
std::uint64_t value{};
};
}
int main() {
std::pmr::vector<std::uint64_t> values(renderive::memory_resource());
values.resize(4096, 7);
auto owner = renderive::make_shared<Payload>();
owner->value = values.front();
if (owner->value != 7)
return 1;
std::thread release_thread([owner = std::move(owner)]() mutable {
owner.reset();
});
release_thread.join();
renderive::Memory_Stats stats = renderive::memory_stats();
if (!stats.upstream_allocation_count || !stats.upstream_current_bytes || !stats.upstream_peak_bytes)
return 2;
return 0;
}