mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-16 10:34:31 +00:00
ifcviewer: move initWgpu + probeAndCreatePool + shutdown into ViewportCore (#84-l)
The instance/adapter/device/queue/pool/surface-format wgpu lifecycle now lives in ViewportCore — including the OOM-scoped pool size probe and the worker-thread startup. ViewportWindow::initWgpu becomes a Qt shell that handles env-var tuning + nav-button preset wiring, then delegates to core_.initWgpu(); the VW-only pipeline builders (HiZ, edge, overlays, pick) still run after. ViewportWindow::shutdown drops the VW-only resources (depth, msaa, hiz, edge, overlays, pick) and lets core_.shutdown() release the shared wgpu handles it now owns. The wgpu-native log callback (wgpuSetLogCallback / WGPULogLevel) is gated on !__EMSCRIPTEN__: it's not part of the W3C spec header, and the emdawnwebgpu port doesn't ship wgpu.h — validation errors there land in the browser console regardless. Drive-by: update test_federation to compare HomeView::target as Eigen::Vector3f (left stale by #79 when QVector3D was retired).
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
#include <QJsonObject>
|
||||
#include <QSignalSpy>
|
||||
#include <QTemporaryDir>
|
||||
#include <QVector3D>
|
||||
#include <Eigen/Dense>
|
||||
|
||||
#include <atomic>
|
||||
|
||||
@@ -121,7 +121,7 @@ TEST_CASE("setHomeView / clearHomeView toggle dirty + has_home_view", "[federati
|
||||
QSignalSpy spy(&fed, &Federation::dirtyChanged);
|
||||
|
||||
Federation::HomeView hv;
|
||||
hv.target = QVector3D(1, 2, 3);
|
||||
hv.target = Eigen::Vector3f(1, 2, 3);
|
||||
hv.distance = 12.5f;
|
||||
hv.yaw = 33.0f;
|
||||
hv.pitch = 22.0f;
|
||||
@@ -207,7 +207,7 @@ TEST_CASE("save then load round-trips models, transform, visibility, home view",
|
||||
src.setModelVisible(id2, false);
|
||||
|
||||
Federation::HomeView hv;
|
||||
hv.target = QVector3D(10, 20, 30);
|
||||
hv.target = Eigen::Vector3f(10, 20, 30);
|
||||
hv.distance = 77.0f;
|
||||
hv.yaw = 11.0f;
|
||||
hv.pitch = 7.0f;
|
||||
@@ -236,7 +236,7 @@ TEST_CASE("save then load round-trips models, transform, visibility, home view",
|
||||
REQUIRE_FALSE(dst.models()[1].visible);
|
||||
|
||||
REQUIRE(dst.hasHomeView());
|
||||
REQUIRE(dst.homeView().target == QVector3D(10, 20, 30));
|
||||
REQUIRE(dst.homeView().target == Eigen::Vector3f(10, 20, 30));
|
||||
REQUIRE(dst.homeView().distance == 77.0f);
|
||||
REQUIRE(dst.homeView().yaw == 11.0f);
|
||||
REQUIRE(dst.homeView().pitch == 7.0f);
|
||||
|
||||
Reference in New Issue
Block a user