mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-16 13:46:54 +00:00
BufferPool: drop Qt log dependency
Replace qInfo() growth-event logging with fprintf(stderr,...) so BufferPool.cpp has no Qt touchpoints. Lets the test target drop its Qt6::Core link too. Prerequisite for the IfcViewerCore library boundary the web target will link against.
This commit is contained in:
@@ -19,9 +19,8 @@
|
|||||||
|
|
||||||
#include "BufferPool.h"
|
#include "BufferPool.h"
|
||||||
|
|
||||||
#include <QtDebug>
|
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
#include <cstdio>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
BufferPool::~BufferPool() {
|
BufferPool::~BufferPool() {
|
||||||
@@ -113,21 +112,23 @@ bool BufferPool::addSubBuffer() {
|
|||||||
sp.free_ranges.push_back({0, try_size});
|
sp.free_ranges.push_back({0, try_size});
|
||||||
sub_pools_.push_back(std::move(sp));
|
sub_pools_.push_back(std::move(sp));
|
||||||
last_growth_size_ = try_size;
|
last_growth_size_ = try_size;
|
||||||
qInfo().noquote().nospace()
|
std::fprintf(stderr,
|
||||||
<< "[wgpu pool] added sub-buffer " << (sub_pools_.size() - 1)
|
"[wgpu pool] added sub-buffer %zu (%llu MB); pool total now %llu MB\n",
|
||||||
<< " (" << (try_size / (1024 * 1024)) << " MB); pool total now "
|
sub_pools_.size() - 1,
|
||||||
<< (total_capacity_bytes() / (1024 * 1024)) << " MB";
|
(unsigned long long)(try_size / (1024 * 1024)),
|
||||||
|
(unsigned long long)(total_capacity_bytes() / (1024 * 1024)));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (buf) wgpuBufferRelease(buf);
|
if (buf) wgpuBufferRelease(buf);
|
||||||
try_size /= 2;
|
try_size /= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
qInfo().noquote().nospace()
|
std::fprintf(stderr,
|
||||||
<< "[wgpu pool] driver refused growth even at "
|
"[wgpu pool] driver refused growth even at %llu MB; "
|
||||||
<< (MIN_SUB_BUFFER_BYTES / (1024 * 1024)) << " MB; pool capped at "
|
"pool capped at %llu MB across %zu sub-buffer(s) — growth disabled\n",
|
||||||
<< (total_capacity_bytes() / (1024 * 1024))
|
(unsigned long long)(MIN_SUB_BUFFER_BYTES / (1024 * 1024)),
|
||||||
<< " MB across " << sub_pools_.size() << " sub-buffer(s) — growth disabled";
|
(unsigned long long)(total_capacity_bytes() / (1024 * 1024)),
|
||||||
|
sub_pools_.size());
|
||||||
growth_disabled_ = true;
|
growth_disabled_ = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,13 +82,10 @@ add_ifcviewer_unit_test(test_visibility)
|
|||||||
# the linker needs is the production destructor's wgpuBufferRelease — which
|
# the linker needs is the production destructor's wgpuBufferRelease — which
|
||||||
# is never reached for fake handles because we don't call destroy() / let
|
# is never reached for fake handles because we don't call destroy() / let
|
||||||
# the pool go out of scope holding any. Linking wgpu_native satisfies the
|
# the pool go out of scope holding any. Linking wgpu_native satisfies the
|
||||||
# symbol regardless. Qt6::Core comes along for qInfo() inside
|
# symbol regardless.
|
||||||
# addSubBuffer's diagnostic log — also never reached at test runtime, but
|
|
||||||
# the unresolved symbol would fail link.
|
|
||||||
find_package(Qt${QT_VERSION} COMPONENTS Core REQUIRED PATHS ${QT_DIR})
|
|
||||||
add_ifcviewer_unit_test(test_buffer_pool
|
add_ifcviewer_unit_test(test_buffer_pool
|
||||||
SOURCES ${IFCVIEWER_SRC}/BufferPool.cpp
|
SOURCES ${IFCVIEWER_SRC}/BufferPool.cpp
|
||||||
LIBS wgpu_native Qt${QT_VERSION}::Core
|
LIBS wgpu_native
|
||||||
)
|
)
|
||||||
if(UNIX AND NOT APPLE AND WGPU_NATIVE_LIB_DIR)
|
if(UNIX AND NOT APPLE AND WGPU_NATIVE_LIB_DIR)
|
||||||
set_target_properties(test_buffer_pool PROPERTIES
|
set_target_properties(test_buffer_pool PROPERTIES
|
||||||
|
|||||||
Reference in New Issue
Block a user